<Docker>コンテナ間でのDB接続(PHP,DB)

Docker

PHPコンテナからDBコンテナに接続する

Docker環境でPHP+DBの環境を作成する場合、それぞれコンテナを分ける形で構築するのが一般的ですが、コンテナが別々なので、PHPからDBを参照できないエラーが発生して、悩まれる方も居るかと思います。

今回はDockerコンテナのPHPから、DockerコンテナのDB(MariaDb, MySQL等)に接続する設定です。.envに指定するコンテナ名が誤っていると接続できません。必要最低限の記述だけ残し、ポイントを絞って載せてあります。

compose.yaml

9行目のコンテナ名がPHPから接続するときに使用する名前です。

services:
  #WEBサーバー
  nginx:
    (省略)
  #アプリケーション
  app:
    (省略)
  #データベース
  mariadb:
    (省略)

appコンテナ内の「.env」

compose.yamlで指定したDBコンテナ名を.envに指定します。

DB_CONNECTION=xxx
DB_HOST=mariadb
DB_PORT=xxx
DB_DATABASE=xxx
DB_USERNAME=xxx
DB_PASSWORD=xxx

札幌在住エンジニア。JavaやPHPやWordPressを中心とした記事が中心です。

【SE歴】四半世紀以上
【Backend】php / java(spring) / c# / AdobeFlex / c++ / VB / cobol
【Frontend】 vue.js / jquery他 / javascript / html / css
【DB】oracle / mysql / mariadb / sqlite
【infrastructure】aws / oracle / gcp
【license】aws(saa-c03) / oracle master / XML Master / Sun Certified Programmer for the Java 2 Platform 1.4

Nobelをフォローする
DockerPHP
Nobelをフォローする

コメント

タイトルとURLをコピーしました