Контейнер Docker и контейнер Postgres работают, но имеют нежелательный интерактивный доступ к root - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть полностью рабочая база данных 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 в какой-то момент во время создания контейнера?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...