У меня есть полностью рабочая база данных postgres, использующая официальное изображение postgres:11
, которое имеет переменные и запускает сценарий точки входа для создания базы данных и пользователя.
Меня беспокоит то, что при использовании docker exec -it test-db bash
, Я ввожу как root
.
Первоначальный вопрос: это риск?
Когда я изменяю свой файл docker-compose.yml
, чтобы включить user: postgres
, он получает следующую ошибку (независимо от того, существует том или нет) :
Creating network "testdb_test-db" with the default driver
Creating test-db ...
Creating test-db ... done
Attaching to test-db
test-db | mkdir: cannot create directory ‘/var/lib/postgres’: Permission denied
test-db exited with code 1
Я знаю, что без user: postgres
пользователь postgres
используется, поскольку контейнер запускает сценарий точки входа, который содержит psql --command "CREATE USER testuser";
, который root
не может быть выполнен.
Актуальный вопрос: Могу ли я остановить docker exec
доступ к root
в какой-то момент во время создания контейнера?