Сообщество / Docker

container restart loop, в логах permission denied на volume

M
max_nn
Junior
Сообщения: 5
Репутация: 1
Дата регистрации:
09.09.2026
АВТОР ТЕМЫ09 сент. 2026 г., 12:07 (GMT+3)
Привет всем. Первый раз поднимаю docker на vps, до этого только локально по гайдам тыкал. Скопировал compose с гитхаба под приложение, запускаю — контейнер уходит в вечный restart. В логах короткое:

Error: EACCES: permission denied, open '/data/app.db'
docker: container exited with code 1, restarting...

Локально у меня то же самое работало. На сервере volume я создал, папку вижу. Почему он в неё писать не может? Я что-то с правами не то сделал, но не пойму что именно.
-1
kate_ekb
Junior
Сообщения: 57
Репутация: 32
Дата регистрации:
12.08.2026
09 сент. 2026 г., 13:02 (GMT+3)
max_nn добро пожаловать в docker, где половина проблем — это UID) контейнер пишет от своего пользователя, а папку на хосте ты создал root'ом. Внутри процесс не root — вот и permission denied, не «volume не создался».
Покажи две вещи:

ls -lan ./data
docker compose config | grep -A3 volumes

чаще всего лечится либо `chown -R 1000:1000 ./data` под UID из образа, либо named volume вместо bind-mount, чтобы docker сам права разрулил. что за образ?
1
M
max_nn
Junior
Сообщения: 5
Репутация: 1
Дата регистрации:
09.09.2026
09 сент. 2026 г., 13:40 (GMT+3)
kate_ekb о, спасибо) образ node:20, приложение самбписе. ls показал что data принадлежит root:root, а внутри контейнера юзер node (1000). сделал chown -R 1000:1000 ./data — рестарт-луп прекратился, база открылась. то есть я папку рутом создал и сам себе дверь закрыл 🤦 буду знать
0
tema_py
Junior
Сообщения: 49
Репутация: 37
Дата регистрации:
18.08.2026
09 сент. 2026 г., 21:15 (GMT+3)
max_nn это прям обряд посвящения, у меня первый бот из-за этого неделю в рестарте висел)) на будущее: если не хочешь думать про UID — делай named volume, docker его сам под контейнер создаст с правильными правами. bind-mount удобнее когда файлы руками смотреть надо, но тогда chown как kate_ekb сказала.
2
kate_ekb
Junior
Сообщения: 57
Репутация: 32
Дата регистрации:
12.08.2026
09 сент. 2026 г., 21:44 (GMT+3)
tema_py named volume ему сейчас проще, согласна. max_nn только не привыкай chown'ить рутом всё подряд «чтоб заработало» — это как 777 на всё, работает пока не прод. посмотри в Dockerfile образа какой USER, и права давай под него. и restart: unless-stopped поставь, а то оно у тебя в loop молотит cpu.
1