データベースを利用するためにはアプリケーションサーバーとデータベースサーバーを接続しなければいけません。データベースの情報を作っているとき(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]