MinEMemO

【Docker】#7 phpMyAdmin表示確認

📝 更新日:2022-10-24 / 📄 作成日:2022-10-24
Hero Image
目次

はじめに

今回業務で開発環境を作る際に共有できるノウハウが存在しないチームだったので、展開できる方法を検討し、Dockerが最適だと判断し個人で勉強しチームに展開まで行いました。

この通りやれば環境を再現してローカルで使える!というところまで、まとめたので時間がある限りブログに残そうかと思っています。

今回は第七回目です。
前回はLaravelのDB設定、動作確認を行いました。

過去の手順は前回の記事を参考にしてみてください。

作成する環境は以下の通りです。

  • windows pc
  • php 8.0.23
  • composer 2.4.1
  • nginx 1.22.0
  • MySQL 8.0.30
  • Laravel 6.20.44
  • phpMyAdmin最新

参考にした教材は以下です。
こちらがなかったらここまで実現できなかったと思います。

ありがとうございます。

なお、私自身はインフラ専門家ではないので、インフラの各種機能の設定値は深堀していません。
本気で事業で使う場合はインフラの専門家の方にDockerファイルを作成+本番環境での運用を想定してもらい、それを作業者は起動、運用するだけ、という風にするのが理想だと思います。

用語

先によく出てくる用語だけ記載しておきます。
作業中にわからなくなったら見てください。

ホストOS作業側のパソコン。ローカルともいう
Dockerfileイメージをビルドで作るためのDockerの設定ファイル
イメージコンテナを作成するためにDockerfileからビルドで作成されたもの。 Dockerhubで配布されている公式のイメージもある。
ビルドDockerfileからイメージを作成する事
コンテナイメージから作成された各機能のこと。 サービスとも呼ばれる。 このコンテナの集まりで環境が構築される
docker-compose複数のコンテナを一気に作成したりできる一元管理機能。 Dockerを使う場合実質必須になります。
docker-compose.yml複数のコンテナを一気に作成、起動したりできるdocker-composeの一元管理ファイル。 docker-composeをインストールしてdocker-compose.ymlを作成してdocker composeコマンドで実行して利用します。

現在の作業フォルダ

前回までに作成した以下のフォルダが作業ディレクトリになります。
参考までに記載しておきます。

nginx_mysql_laravel/	    TOPフォルダ。名前はコンテナ起動前(環境構築前)なら自由に変更可能
├── laravel		    Laravelのソースコードが置かれるフォルダ=実作業フォルダ
├── docker		    dockerの設定ファイルや環境設定ファイルを置くフォルダ。
│                 ここの配下のフォルダ名を変える場合、
│                 Dockerfileとかdocker-compose.ymlでパスの修正が必要です
│   ├── php		     phpコンテナ(phpの環境構築設定ファイル)
│   │   ├── Dockerfile		phpのDockerfile
│   │   └── php.ini		php設定ファイル環境立ち上げるときにコンテナにコピーされます
│   ├── mysql 		    MySQLコンテナ(MySQLの環境構築設定ファイル)
│   │   ├── Dockerfile		MySQLのDockerfile
│   │   └── my.conf		mysql 設定ファイル環境立ち上げるときにコンテナにコピーされます
│   └── nginx		    nginxコンテナ(nginxの環境構築設定ファイル)
│   │   ├── Dockerfile		nginxのDockerfile
│   │   └── default.conf	nginx設定ファイル環境立ち上げるときにコンテナにコピーされます
│   └── phpmyadmin		phpMyAdminのデータが永続化される場所
└──  docker-compose.yml		全コンテナの一括管理をするDockerの設定ファイル

1.phpMyAdmin表示確認

今回は以下のURLにアクセスし、phpMyAdminが表示できればOKです。
http://localhost:8080/

ログイン情報は以下の通りです。

  • ユーザ名:root
  • パスワード:password

この値は docker-compose.yml のサービス名 phpmyadminの PMA_USER 、PMA_PASSWORD に設定されてる値になります。

アクセスする前に…
前回同様 docker-compose up -d をしてコンテナを起動し環境を立ち上げておいてください。

分からない場合は前回の記事を参考にしてください。

docker-compose.ymlからコンテナを起動

「接続できません。設定が無効です。」みたいなエラーがでた場合

キャッシュの影響などでうまくいかないことがあります。
そういったときは以下のコマンドを実行する事で解決できます。

イメージの更新が反映しない時などもこちらで解決することが多いです。

1.
Docker内で現在起動してない、イメージ、コンテナ、ネットワーク、キャッシュを削除(prune)する

docker system prune

2.
再度環境を起動する

docker-compose up -d

なぜ8080?
docker-compose.yml の サービス名 phpmyadmin の ports を 8080:80と記載しているからです。

コンテナの80番ポートをローカルの8080番ポートで表示するという意味になります。(ポートフォワーディング)

ちなみに8080の部分は使われていないポート番号であれば、なんでも大丈夫です。

さいごに

今回はこれで完了です。
次回は8!いよいよ最後!「出来てる環境の確認」を行います。

本シリーズの全体の流れとしては、大きく以下のようになっています。

  1. Docker Desktopインストール
  2. ローカルに作業フォルダを作成
  3. Dockerの設定ファイルを作成
  4. Laravelをコマンドでインストール
  5. dockerでコンテナ(機能)を起動+Laravel表示確認
  6. LaravelのDB設定、確認
  7. phpMyAdmin表示確認
  8. 出来てる環境の確認
自分でなんとか勉強して、実践してまとめてきましたが、なかなか難しいですよね。 わからないときも焦らずにやるのが大事だと思います。 無理せずに頑張っていきましょう
profile_icon
taka
プログラマー
いつでも転職希望の業務経験7年目(2023時点)のエンジニアです。 仕事の合間にすこしずつ転職活動はしていますが、条件が合う場合ぜひTwitterなどでご連絡頂けると嬉しいです。 希望条件は基本的に残業は1日x1h程度。収入は一旦現状維持。 ある程度で構わないので、保守運用が管理されていて、精神的に安心して働ける環境が良いです。 経験言語はHTML、CSS、javascript、PHP、MySQL、Docker、Vuejs、Laravel このブログは完全に自作で静的ジェネレータで作りました。 この範囲で言えば React.js Gatsby.js GraphQLも経験があります。 最近はAIがどう社会に受け入れられ、日常になっていくのかの行く末が気になっています。 今までの人生で一番変化を感じて不思議な感覚です。