Ich habe ein Basis-Image aus Dockerfile mit dem Namen centos + ssh erstellt. In der Docker-Datei von centos + ssh verwende ich CMD, um den ssh-Dienst auszuführen.
Dann möchte ich ein Image erstellen, das einen anderen Dienst namens rabbitmq, die Docker-Datei, ausführt:
FROM centos+ssh
EXPOSE 22
EXPOSE 4149
CMD /opt/mq/sbin/rabbitmq-server start
Um den rabbitmq-Container zu starten, führen Sie Folgendes aus:
docker run -d -p 222:22 -p 4149:4149 rabbitmq
Aber der SSH-Dienst funktioniert nicht. Er erkennt, dass die Dockerfile-CMD von rabbitmq die CMD von centos überschreibt.
- Wie funktioniert CMD im Docker-Image?
- Wie geht es, wenn ich mehrere Dienste ausführen möchte? Supervisor verwenden?