Я строю образ докера из Dockerfile (скачанного с git hub). В Dockerfile есть такая строка:

RUN useradd -m user
USER user

после этого все последующие процедуры происходили под "пользователем". Однако, когда я использовал изображение, я понял, что застрял внутри "пользователя" и больше не могу переключаться на root, потому что я не знаю пароль для root. Пароль никогда не указывался в Dockerfile. Изображение основано на Centos7

Как это произошло и есть ли способ получить пароль?

Буду очень признателен за любые подсказки!

огромное спасибо

1 ответ1

2

Запустив непривилегированный докер-контейнер, вы не сможете переключиться на root без установки пароля root.

К счастью, вам не нужно устанавливать пароль пользователя root (и не нужно). Вместо этого вы можете создать новый процесс или контейнер с правами root с помощью опции -u:

docker run -u root imagename

или же

docker exec -u root containername bash

Подсказка: также добавьте флаг -it если вам нужно взаимодействовать с процессом на терминале.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .