Ho creato un'immagine di base da Dockerfile denominata centos + ssh. Nel Dockerfile di centos + ssh, utilizzo CMD per eseguire il servizio ssh.
Quindi voglio creare un'immagine per eseguire un altro servizio chiamato rabbitmq, il Dockerfile:
FROM centos+ssh
EXPOSE 22
EXPOSE 4149
CMD /opt/mq/sbin/rabbitmq-server start
Per avviare rabbitmq container , esegui :
docker run -d -p 222:22 -p 4149:4149 rabbitmq
ma il servizio ssh non funziona, rileva che Dockerfile CMD di rabbitmq ha la precedenza su CMD di centos.
- Come funziona CMD all'interno dell'immagine Docker?
- Se voglio eseguire più servizi, come? Usi il supervisore?