Docker Composeは、あらかじめコンテナの起動方法やボリューム、ネットワーク構成などを書いた定義ファイルを用意しておき、その定義ファイルっを読み込ませることでまとめて実行する方法
Docker ComposeはPython製のツール
$ sudo docker-compose –version
docker-compose.yml
version: '3' services: wordpress-db: image: mysql:5.7 networks: - wordpressnet volumes: - wordpress_db_volume:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: myrootpassword MYSQL_DATABASE: wordpressdb MYSQL_USER: wordpressuser MYSQL_PASSWORD: wordpresspass wordpress-app: depends_on: - wordpress-db image: wordpress networks: - wordpressnet ports: - 8080:80 restart: always environment: WORDPRESS_DB_HOST: wordpress-db WORDPRESS_DB_NAME: wordpressdb WORDPRESS_DB_USER: wordpressuser WORDPRESS_DB_PASSWORD: wordpresspass networks: wordpressnet: volumes: wordpress_db_volume:
### Docker Compose操作
$ sudo docker-compose up -d
$ sudo docker-compose ps
Name Command State Ports
———————————————————————————————————
wordpress_wordpress-app_1 docker-entrypoint.sh apach … Up 0.0.0.0:8080->80/tcp,:::8080->80/tcp
wordpress_wordpress-db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp
$ sudo docker network ls
$ sudo docker volume ls
### コンテナを停止して破棄
$ sudo docker-compose down
### Docker-compose.ymlの書き方
1. サービス
2. ネットワーク
3. ボリューム
image:wordpress
image:
wordpress
depends_on: この定義によって、後に起動できる
– ネットワークの指定省略
明示的にネットワークを指定しなかったときは、記述しているサービスが繋がるDockerネットワークを自動的に作成し、全てのサービスをそのネットワークに接続するように構成する
– サービスを個別に操作
docker-compose logs
docker-compose rm
docker-compose run
docker-compose exec
docker-compose start
docker-compose stop
うむー進むのだけは早い