¿Cómo ejecutar docker-componer con php-fpm y php-cli?

Necesito ejecutar docker-componer con dos contenedores, – php-fpm y php-cli. Aunque necesito otro contenedor con compositor. Aquí está mi file docker-compose.yml:

version: '2' services: nginx: container_name: travellizy_nginx build: ./docker/nginx restart: always #ports: # - "8080:80" volumes: - ./api:/api - ./docker/nginx/nginx.conf:/etc/nginx/conf.d/site.conf - ./docker/nginx/log:/var/log/nginx links: - php - mysql networks: travelnet: ipv4_address: 172.27.0.101 php: container_name: travellizy_php build: ./docker/php restart: always volumes: - ./api:/api - ./docker/php/php.ini:/usr/local/etc/php/conf.d/php.ini - ./docker/php/php-fpm.conf:/usr/local/etc/php-fpm.d/php-fpm.conf - ./docker/php/log:/var/log/php links: - mysql networks: travelnet: ipv4_address: 172.27.0.118 php-cli: container_name: travellizy_php_cli build: ./docker/php-cli restart: always volumes_from: - php ports: - "9005:9000" links: - mysql networks: travelnet: ipv4_address: 172.27.0.119 composer: container_name: travellizy_composer build: ./docker/composer working_dir: /api volumes: - ./api:/api networks: travelnet: ipv4_address: 172.27.0.120 mysql: container_name: travellizy_db_mysql build: ./docker/db/mysql restart: always ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: travellizy MYSQL_DATABASE: travellizy MYSQL_USER: travellizy MYSQL_PASSWORD: travellizy volumes: - ./docker/db/mysql/my.cnf:/etc/mysql/conf.d/my.cnf - ./docker/db/mysql/log:/var/log/mysql networks: travelnet: ipv4_address: 172.27.0.135 networks: travelnet: driver: bridge ipam: config: - subnet: 172.27.0.0/24 

Cuando ejecuto docker-componen -d – el contenedor con php-cli siempre se reinicia y el contenedor del compositor simplemente se detiene.

PHP cli no se ejecuta en modo daemon. Lo ejecuta, y luego se detiene. A continuación, Docker intenta reiniciarlo (ha establecido restart: always policy para php-cli ). 🙂

Los services IMO php-cli y composer son networkingundantes. Puede usar el service php para sus necesidades. Simplemente ejecute docker-compose run php php [path to script]