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
うむー進むのだけは早い