(1): я не знаю, но это не имеет значения. Если вы запустите docker run -it centos
вы запустите новый контейнер и сразу войдете в него как root. Затем вы можете в интерактивном режиме установить новый пароль root с помощью passwd
. Но это редкий случай использования, в основном используемый для первых шагов в контейнеры.
(2): Если кто-то наследует базовый образ, попробуйте получить Dockerfile
для этого. Таким образом, вы можете посмотреть, если и какой пароль он установил. Если этот Dockerfile
недоступен, я лично поставлю под сомнение качество изображения в целом, поскольку вы никогда не знаете, что еще может быть запечено в изображении. Ваш пробег может варьироваться. В любом случае вы можете по очереди извлечь это изображение и установить еще один пароль root.
(3): Ваш предложенный способ с passwd
достаточно честен, но внедрение фиксированного пароля в контейнер в любом случае кажется мне неправильным. Контейнер должен реализовывать одну задачу и фактически никогда не должен входить в систему. Для исключительных сеансов устранения неполадок вы всегда можете получить доступ к контейнеру с хоста Docker с помощью "docker attach" или "docker exec". Если вам действительно нужно войти в контейнер, поместите открытый ключ ssh в ~/.ssh/authorized_keys
, чтобы вы могли контролировать извне, кто получает доступ к контейнеру (кто имеет доступ к соответствующему секретному ключу ssh).