2017-02-22 16 views
3

私はdocker-composeを2つのコンテナ、 - php-fpmとphp-cliで実行する必要があります。私は作曲家と別のコンテナが必要ですが。 PHP-CLIでコンテナを常に再起動し、作曲コンテナなるだけで停止した -php-fpmとphp-cliでdocker-composeを実行するには?

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 

私はドッキングウィンドウ・作曲-dアップを実行します。 はここに私のドッキングウィンドウ-compose.ymlファイルです。

+0

なぜ再起動を使用しますか:常にPHPで?なぜあなたは "travellizy_php"で作曲家を演奏しませんか? – ivoba

答えて

6

PHP cliがデーモンモードで実行されていません。あなたはそれを実行し、それが停止します。次に、Dockerは再起動しようとします(php-clirestart: alwaysポリシーを設定しています)。 :)

IMO php-clicomposerサービスは冗長です。あなたのニーズに応じてphpサービスを利用できます。単に実行するdocker-compose run php php [path to script]

関連する問題