¿Cómo iniciar services en una image Docker?

Creé un Dockerfile para una image para ejecutar PHP7 en FPM + Nginx, pero no puedo get la image para iniciar los services correctamente.

¿Cómo debería hacerse esto exactamente?

Aquí está la parte donde lo estoy haciendo actualmente:

CMD service php7-fpm start; \ service php7-fpm status; \ service nginx start; \ service nginx status 

Cuando administre services múltiples, querrá supervisar al usuario.

En tu file Docker.

 Additional commands... RUN apt-get update && apt-get install -y supervisor ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf Additional commands... CMD ["/bin/supervisord", "-c /etc/supervisor/conf.d/supervisord.conf"] 

supervisord.conf

 [supervisord] nodaemon=true [program:php7] command=<command to start php7> autostart=true autorestart=true <repeat for additional services>... 

Esto asegurará que el contenedor no salga una vez que todo se haya iniciado. Recuerde que Docker se supone que es un entorno de process con ese process ejecutándose en primer plano y no el background como un service.

necesita un administrador de processs, como supervisor, s6, daemontools o cualquier otro

ver el documento para el supervisor, por ejemplo

https://docs.docker.com/articles/using_supervisord/