6

Это касается официальных изображений Docker Centos6 и Centos7

Есть 3 отдельных, но связанных вопроса:
(1) Когда вы начали использовать "Docker RUN centos", что такое пароль root и как его найти?
(2) Каков пароль root и как его найти при запуске из производного изображения (изображения, полученного из официальных центров докера с использованием записи Dockerfile FROM)?
(3) В обоих случаях, если ответ "вам нужно установить пароль root в Dockerfile", какой метод рекомендуется установить лучше всего. ("yum install passwd; passwd;" - это один из вариантов, но лучше ли это? )

Большое спасибо!

2 ответа2

3

(1): я не знаю, но это не имеет значения. Если вы запустите docker run -it centos вы запустите новый контейнер и сразу войдете в него как root. Затем вы можете в интерактивном режиме установить новый пароль root с помощью passwd . Но это редкий случай использования, в основном используемый для первых шагов в контейнеры.

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

(3): Ваш предложенный способ с passwd достаточно честен, но внедрение фиксированного пароля в контейнер в любом случае кажется мне неправильным. Контейнер должен реализовывать одну задачу и фактически никогда не должен входить в систему. Для исключительных сеансов устранения неполадок вы всегда можете получить доступ к контейнеру с хоста Docker с помощью "docker attach" или "docker exec". Если вам действительно нужно войти в контейнер, поместите открытый ключ ssh в ~/.ssh/authorized_keys , чтобы вы могли контролировать извне, кто получает доступ к контейнеру (кто имеет доступ к соответствующему секретному ключу ssh).

2

Чтобы установить пароль root в контейнере Docker:

  1. Войдите в систему как пользователь root: docker exec -ti -u root ID контейнера /bin /bash
  2. Используйте команду passwd для изменения пароля.
  3. Фиксация изменений в Docker (т.е. фиксация Docker).

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