データベースを利用するためにはアプリケーションサーバーとデータベースサーバーを接続しなければいけません。データベースの情報を作っているとき(docker-compose.yml)に接続情報(.env)についても記載してしまいます。
データベースを作成
Docker上にservice名をdbという名前で作成し、test_dbデータベースを作成、test_userというユーザーをpasswordというパスワードで作成してください。
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: test_db
MYSQL_USER: test_user
MYSQL_PASSWORD: password
TZ: 'Asia/Tokyo'
volumes:
- ./docker/db/sql:/docker-entrypoint-initdb.d
ports:
- 3306:3306
version
docker-composeのバージョンservices
立ち上げるコンテナのホスト名image
使うイメージの種類(:バージョン)environtmen
環境変数
- MYSQL_ROOT_PASSWORD:ルートアカウントのパスワード
- MYSQL_DATABASE:データベース名
- MYSQL_USER:作成するユーザー名
- MYSQL_PASSWORD:上記のユーザーのパスワード
- TZ:タイムゾーンvolumes
初期化するボリュームのパスports
使用するポート(3306が多い)
接続設定
dockerに接続するための情報を記載する
(基本的にはdocker-compose.ymlに記載してある内容をコピーする)
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=test_user
DB_PASSWORD=password
DB_CONNECTION
docker-compose.ymlで立ち上げるデータベースの種類DB_HOST
docker-compose.ymlの[services]DB_PORT
docker-compose.ymlの[ports]DB_DATABASE
docker-compose.ymlの[ports]DB_USERNAME
docker-compose.ymlの[MYSQL_USER]DB_PASSWORD
docker-compose.ymlの[MYSQL_PASSWORD]