はじめに
Docker Composeを使ってMySQLの環境を構築しました。
詳細は、以前にDocker DesktopとDockerコマンドで作成したものと同じです。
以前の記事はこちら
実行環境
OS:MacOS Monterey 12.3.1
Docker:Docker version 20.10.14
DB:MySQL8.0
Docker Composeとは
Dockerで構築するコンテナやネットワーク、ボリュームなどをYAML形式のファイルで定義し、
複数のリソースを構築し停止・破棄することが出来ます。
Docker Composeのインストール済を確認
Docker forMac(Windowsも)を利用している場合、
Docker Compose は内包されているはずなので、別途でのインストール不要です。
インストール済であることを確認する場合、以下のコマンドを実行します。
% docker-compose -version
docker-compose version 1.29.2, build 5becea4c
定義ファイルを作成する
コンテナ構築に必要な設定はYAMLファイルで定義します。
Dockerのドキュメントより、使用しているdocker composeのバージョンが1.20.0 以上のため、
こちらのCompose 仕様)を基準に定義していきます。
YAMLファイルでコンテナを定義するにはservices要素内に定義します。
services内に定義した要素名がコンテナ名となります。
今回は、イメージ(バージョン付き)、ポートマッピング、環境変数、ボリュームマッピングを定義します。
具体的には以下の通り
version: '3'
services:
mysql-container-comporse:
image: mysql:8.0
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=my-secret-pw
volumes:
- /Users/xxx/docker/mysql-container-compose/volumes:/var/lib/mysql
コンテナの起動・停止
コンテナを起動する時
% # コンテナを作成+起動
% docker-compose -f (YMALファイルのパス) up -d
% # コンテナの作成
% docker-compose -f (YMALファイルのパス) create
% # コンテナを起動
% docker-compose -f (YMALファイルのパス) start
コンテナを停止する時
% # コンテナを停止+削除
% docker-compose -f (YMALファイルのパス) down
% # コンテナを停止
% docker-compose -f (YMALファイルのパス) stop
% # 停止中のコンテナを削除
% docker-compose -f (YMALファイルのパス) rm
参考文献