centos + sshという名前のDockerfileからベースイメージを構築しました。centos + sshのDockerfileでは、CMDを使用してsshサービスを実行しています。
次に、rabbitmqというDockerfileという名前の別のサービスを実行してイメージを構築します。
FROM centos+ssh
EXPOSE 22
EXPOSE 4149
CMD /opt/mq/sbin/rabbitmq-server start
rabbitmqコンテナーを起動するには、次を実行します。
docker run -d -p 222:22 -p 4149:4149 rabbitmq
sshサービスは機能しません。rabbitmqのDockerfile CMDがcentosのCMDをオーバーライドしていることを検出します。
- CMDはdocker image内でどのように機能しますか?
- 複数のサービスを実行したい場合、どうすればよいですか?スーパーバイザを使用していますか?