私は奇妙な問題を抱えています。
IPアドレス172.17.0.61
のDockerコンテナにSSHで接続できません。
次のエラーが発生します。
$ ssh 172.17.0.61
ssh: connect to Host 172.17.0.61 port 22: Connection refused
私のDockerfile
にはopenssh-server
インストール手順が含まれています:
RUN apt-get -y install curl runit openssh-server
また、sshを開始する手順:
RUN service ssh start
問題は何でしょうか?
nsenter
を使用してコンテナに入り、ssh
サービスを開始すると、sshを実行できます。しかし、コンテナの作成中にssh-server
が開始されないようです。
私は何をすべきか?
コンテナとイメージ
RUN
ステートメントは、Dockerイメージをビルドするときにコマンドを実行するために使用されます。ENTRYPOINT
およびCMD
を使用すると、そのイメージを使用してコンテナーを起動したときに実行するものを定義できます。
それらの使用方法の説明については、 Dockerfileリファレンス を参照してください。
サービス
コンテナにはプリインストールされたinit-systemがないため、コンテナでservice ... start
を使用することはできません。CMD
ステートメントでプロセスをフォアグラウンドプロセスとして開始することを検討するか、PhusionやSupervisordなどのinitシステムを使用してください。