LoginSignup
0
0

More than 3 years have passed since last update.

Dockerでコンテナの作成とその接続設定(Laravelでウェブアプリを作ろう②)

Posted at

データベースを利用するためにはアプリケーションサーバーとデータベースサーバーを接続しなければいけません。データベースの情報を作っているとき(docker-compose.yml)に接続情報(.env)についても記載してしまいます。

データベースを作成

Docker上にservice名をdbという名前で作成し、test_dbデータベースを作成、test_userというユーザーをpasswordというパスワードで作成してください。

docker-compose.yml
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に記載してある内容をコピーする)

.env
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]

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0