docker-compose.ymlを使って、お手軽にMySQL環境を構築する方法を紹介します!
docker-compose.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 |
version: '3' services: mysql: image: mysql:5.7 env_file: ./mysql.env ports: - '3306:3306' volumes: - ./config:/etc/mysql/conf.d/:ro - test_mysql_volume:/var/lib/mysql volumes: test_mysql_volume: |
docker-compose.ymlはこんな感じです。
- imageにmysqlのイメージを指定
- env_fileにenvファイルが配置してある場所を指定
- portsを指定
- volumesで、configファイルをマウントし、データを永続化
といった流れです。
設定ファイルたち
mysql.env
1 2 3 4 5 |
MYSQL_ROOT_HOST=127.0.0.1 MYSQL_ROOT_PASSWORD=password MYSQL_USER=root MYSQL_PASSWORD=password MYSQL_DATABASE=db_name |
config/my.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# # The MySQL database server configuration file. # [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqldump] default-character-set=utf8mb4 [mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_bin lower_case_table_names=1 # Enable access from the host machine. bind-address=0.0.0.0 |
上記ファイルでMySQLの設定ファイルをコンテナにマウントします。
ファイル構成
1 2 3 4 5 |
. ├── config │ └── my.cnf ├── docker-compose.yml └── mysql.env |
docker-compose up
上記の状態にして、
1 |
docker-compose up |
を実行すれば、MySQLコンテナが立ち上がり、そのコンテナに入ることで、MySQLを自由に触ることができます!
受託の仕事していると、WordPress環境をいくつも作ったりしないといけないので、MySQLを仮想環境で作れるのは助かります😊