dockerでlaravelの学習するためにコンテナを立てて開発を行おうと思っています。
そのためのコンテナとしてこちらのページ(1)を参考にdockerのコンテナを立てました。
また、一度に複数のコンテナで開発を行うためにこちらのページ(2)を参考にリバースプロキシのコンテナを立てました。
以下がリンク(1)を参考に書いたlaravelの開発環境のdocker-compose.ymlです。
yml
1version: "2" 2services: 3 data: 4 build: ./data 5 container_name: laravel-data 6 volumes: 7 - ../:/data 8 - /var/lib/mysql 9 db: 10 image: mariadb 11 volumes_from: 12 - data 13 environment: 14 MYSQL_ROOT_PASSWORD: root 15 fpm: 16 build: ./fpm 17 container_name: laravel-fpm 18 volumes_from: 19 - data 20 nginx: 21 build: ./nginx 22 container_name: laravel-nginx 23 volumes_from: 24 - data 25 links: 26 - fpm:fpm 27 expose: 28 - "80" 29 environment: 30 - VIRTUAL_HOST=laravel.localhost 31 composer: 32 build: ./composer 33 container_name: laravel-composer 34 volumes_from: 35 - data 36 npm: 37 build: ./npm 38 container_name: laravel-npm 39 volumes_from: 40 - data 41 42networks: 43 default: 44 external: 45 name: common
リンク(2)を参考に書いたリバースプロキシのdocker-compose.ymlは以下の通りです。
yml
1version: '2' 2# proxy 3services: 4 5 proxy: 6 image: jwilder/nginx-proxy 7 container_name: nginx-proxy 8 ports: 9 - "80:80" 10 - "443:443" 11 volumes: 12 - /var/run/docker.sock:/tmp/docker.sock:ro 13 restart: always 14 15networks: 16 default: 17 external: 18 name: common
そして、コマンドでdocker network create --driver bridge common
を実行し、ネットワークを作成、その後上二つのdocker-compose build
、docker-compose up -d
を実行したところ問題なくコンテナが立ち、 laravel.localhost にアクセスしたところ、問題なくコンテナが立っているのが確認できました。
しかし、同時に同じイメージを使った二つ目の開発環境を立てようと、以下のdocker-composeを実行したところ、先に立てておいたコンテナがすべて終了し、新しいコンテナに置き換わってしまいました。
(laravel.localhostにアクセスできなくなり、lumen.localhostしかアクセスできなくなる)
yml
1version: "2" 2services: 3 data: 4 build: ./data 5 container_name: lumen-data 6 volumes: 7 - ../:/data 8 fpm: 9 build: ./fpm 10 container_name: lumen-fpm 11 volumes_from: 12 - data 13 nginx: 14 build: ./nginx 15 container_name: lumen-nginx 16 volumes_from: 17 - data 18 links: 19 - fpm:fpm 20 expose: 21 - "80" 22 environment: 23 - VIRTUAL_HOST=lumen.localhost 24 composer: 25 build: ./composer 26 container_name: lumen-composer 27 volumes_from: 28 - data 29 npm: 30 build: ./npm 31 container_name: lumen-npm 32 volumes_from: 33 - data 34 35networks: 36 default: 37 external: 38 name: common
どうしてコンテナが置き換わってしまうのでしょうか?
上記二つのコンテナを同時に立たせておくにはどうすればよいでしょうか?