これはDocker公式のCentos6およびCentos7イメージに関するものです
3つの別個の関連する質問があります。
(1)「docker RUN centos」の使用を開始したとき、ルートパスワードとは何ですか。
(2)派生イメージ(Dockerfile FROMエントリを使用して公式のdocker centosから派生したイメージ)から開始した場合、ルートパスワードとは何ですか?
(3)どちらの場合も、答えが「Dockerfile内でrootパスワードを設定する必要がある」である場合、それを設定するための最良の推奨方法は何ですか。 (「yum install passwd; passwd;」は1つのオプションですが、これはベストプラクティスですか?)
どうもありがとうございました!
Dockerコンテナー内でrootパスワードを設定するには:
(1):わかりませんが、それは問題ではありません。 docker run -it centos
を実行すると、新しいコンテナが開始され、すぐにrootとしてその中にいます。次に、インタラクティブにpasswd
を使用して新しいrootパスワードを設定できます。しかし、これはまれなユースケースであり、主にコンテナーへの最初のステップで使用されます。
(2):誰かがベースイメージから派生している場合は、そのためのDockerfile
を取得してください。そうすれば、彼が設定したパスワードとそのパスワードを調べることができます。そのDockerfile
が利用できない場合、他に何が画像に焼き付けられるかわからないので、画像全体の品質について個人的に質問します。あなたの走行距離は異なる場合があります。いずれの場合でも、そのイメージから順番に取得し、さらに別のrootパスワードを設定できます。
(3):passwd
を使用した提案された方法は十分に公正ですが、コンテナに固定パスワードを実装することは、とにかく私にとって間違っていると感じます。コンテナは1つのタスクを実装する必要があり、事実上ログインする必要はありません。例外的なトラブルシューティングセッションでは、「docker attach」または「docker exec」を使用して、Docker Hostからいつでもコンテナーにアクセスできます。本当にコンテナーにログインする必要がある場合は、ssh公開鍵を~/.ssh/authorized_keys
に配置して、コンテナーにアクセスする外部(対応する秘密ssh鍵にアクセスできる人)から制御できるようにします。