Dockerfileはイメージを操作するもの
Composerファイルはコンテナやネットワーク、ボリュームなどを操作できる
ファイル名は「docker-compose.yml」
「docker-compose.yml」はComposer用フォルダを作る
「docker-compose.yml」は一つのフォルダに対して一つ
「docker_com_gaa」フォルダを作成
「docker_com_gaa」の中に「docker-compose.yml」を作成
# Docker composeのバージョン
version: '3'
# コンテナのこと
# Composerではサービスという
services:
mysql000ex11:
image: mysql:5.7
# image: mysql
networks:
- wordpress000net1
volumes:
- mysql000vol11:/var/lib/mysql
restart: always
# MySQL8以上は認証方式が違うため下記が必要
# command: >
# mysqld --character-set-server=utf8mb4
# --collation-server=utf8mb4_unicode_ci
# --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_PASSWORD: myrootpass
MYSQL_DATABASE: wordpress000db
MYSQL_USER: wordpress000kun
MYSQL_PASSWORD: wkunpass
wordpress000ex12:
# 依存するコンテナ
depends_on:
- mysql000ex11
image: wordpress
networks:
- wordpress000net1
volumes:
- wordpress000vol12:/var/www/html
ports:
- 8089:80
# コンテナが停止した時再起動する
restart: always
environment:
WORDPRESS_DB_HOST: mysql000ex11
WORDPRESS_DB_NAME: wordpress000db
WORDPRESS_DB_USER: wordpress000kun
WORDPRESS_DB_PASSWORD: wkunpass
networks:
wordpress000net1:
volumes:
mysql000vol11:
wordpress000vol12:
コンテナや周辺環境を作成するコマンド
docker compose -f /Users/ユーザー名/勉強/Docker/docker_com_gaa/docker-compose.yml up -d
docker ps で確認
NAMESに下記があればOK
「docker_com_gaa-wordpress000ex12_1」
「docker_com_gaa-mysql000ex11_1」
赤の部分は「docker-compose.yml」を入れているフォルダ名になる
composeでコンテナを作ると自動でコンテナ名に「_1」がつく
ブラウザでも確認
http://localhost:8089/
WordPressがでればOK
コンテナとネットワークを削除する
volumeとimageは削除されない
docker compose -f /Users/ユーザー名/勉強/Docker/docker_com_gaa/docker-compose.yml down
コンテナを停止
docker compose -f /Users/ユーザー名/勉強/Docker/docker_com_gaa/docker-compose.yml stop