はじめに
現在Dockerを学習しているのですが、「20分でLaravel開発環境を構築するDockerハンズオン」という記事に大変お世話になっています。
今回は上記の記事に従って構築した環境に、追加でphpmyadminを導入してみました。
dbコンテナを生成し、"GitHubにpush"までのハンズオンを終わらせた想定です。
コンテナ構成
├── app
├── web
├── db
└── phpmyadmin <-今回追加
ディレクトリ構成
.
├── README.md
├── infra
│ ├── mysql
│ ├── nginx
│ ├── php
│ └── phpmyadmin <- 追加
│ └── sessions <- 追加
├── docker-compose.yml
└── backend
docker-compose.ymlに追記する
phpMyAdminコンテナを生成するための設定値を追記します。
localhost:3000
でphpMyAdminの管理画面にアクセスできる設定です。
ユーザIDとパスワードは上記の記事のハンズオン環境のものを設定しています。
version: "3.8"
services:
app:
[省略]
web:
[省略]
db:
[省略]
# 追記
phpmyadmin:
image: phpmyadmin/phpmyadmin
depends_on:
- db
environment:
- PMA_ARBITRARY=1
- PMA_HOSTS=db
- PMA_USER=phper
- PMA_PASSWORD=secret
ports:
- "3000:80"
volumes:
- ./infra/phpmyadmin/sessions:/sessions
volumes:
db-store:
・phpMyAdmin公式のDockerイメージ
https://hub.docker.com/r/phpmyadmin/phpmyadmin/
ディレクトリを生成する
コマンドはハンズオンの記事と同じ場所(docker-compose.yml
があるディレクトリ)で入力してください。
[mac] $ mkdir -p infra/phpmyadmin
[mac] $ touch infra/phpmyadmin/sessions
build & up
[mac] $ docker-compose down
[mac] $ docker-compose up -d --build
コンテナ確認
[mac] $ docker-compose ps
app
,db
,web
,phpmyadmin
の4つのコンテナがあるか確認してください。
State
が全てUP
であれば起動しています。
下記URLからphpMyAdminの設定画面が表示されれば成功です。
http://localhost:3000/
ハンズオンの通りに行うと、左に「laravel_local」というテーブル表示があリます。
終わりに
記事は以上となります。
ディレクトリを生成する部分は「セッション情報をボリュームに設定し、永続化させる」という設定のようなのですが、仕組みについて十分に理解できていないためDockerについての学習を進めて引き続き編集していこうと思います。
指摘点あればご教示いただければ幸いです。ありがとうございました。
参考
-
【超入門】20分でLaravel開発環境を爆速構築するDockerハンズオン
https://qiita.com/ucan-lab/items/56c9dc3cf2e6762672f4 -
Docker Composeでphpmyadminを導入する
https://zukucode.com/2019/06/docker-compose-phpmyadmin.html