😃
PHPアプリにDB定義を記載すればDBコンテナと繋がる
PHPファイル(プログラムのファイル)にDB情報が書いてある。
そこにdocker-compose.ymlに記載したdbコンテナ内容を記載することで、
PHPアプリからDBコンテナにアクセスできるようになる!
PHPファイルで以下のようなDB定義が記載がされている箇所でDBと繋がれている
phpアプリファイル
"host" => "mydatabase", // コンテナ名、コンテナのサービス名のどちらかみたい
"dbname" => "mydatabase",
"username" => "root",
"password" => "×××××××123",
'profiler' => true,
'charset' => "UTF8",
// それかこんな感じとかで記載ある↓
if (!defined("SERVER")) {
define("SERVER", "mysql-db");
define("USERNAME", "user");
・・・・
docker-compose.yml
db:
image: mysql:8.0.29
container_name: mydatabase
platform: linux/amd64
environment:
TZ: Asia/Tokyo
MYSQL_ROOT_PASSWORD: ×××××123 #rootアカウントに設定するためのパスワード
MYSQL_DATABASE: db-mysql
ymlでusernameを定義しない場合は、usernameはデフォルトでroot
になる。
新しくusernameを指定する場合はenvironmentに↓のように書く。
environment:
MYSQL_USER: root # 新規ユーザ
MYSQL_PASSWORD: ××××111 # 新規ユーザのパスワード設定
所感:
目に見える範囲ではこれだけでDBとPHPアプリが繋がれているんだと驚いた。
Discussion