3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Dockerを使って、phpMyAdminをいとも簡単に接続する 。

Posted at

「Dockerでwebアプリケーションを作ろう!」

と思い立ち、せっせと環境構築をし、なんとか構築し終わったーと思い、phpMyAdminに接続しようとしたら、全然できない…。公式イメージ通りにやってるつもりなのにエラーの連続。

なんとか接続できたので、
Docker初学者の人のためにここに書き残します!
*データベースの設定完了後につまずいていたので、それ以降から投稿します。

データベースがローカルで走っている状態にしてください。
そうしたら、ターミナルでコンテナを見てみましょう。

$ docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             
STATUS              PORTS                               NAMES
655317389bfd        mysql:5.7           "docker-entrypoint.s…"   23 hours ago        
Up 34 minutes       33060/tcp, 0.0.0.0:4506->3306/tcp   twitter_clone_db_1

ぐちゃぐちゃですみません笑
これで、データベースを確認できます。

私がつまづいてしまった場所がここからです。

まず、はじめにdocker-hubから公式のimageを取ってきます。
https://hub.docker.com/r/phpmyadmin/phpmyadmin/

そしてpullしていきます。  
pullっていうのは、特定のイメージをダウンロードしてくることです!

$ docker pull phpmyadmin/phpmyadmin 

そして、完了。よし、runだー!と思ったら…

$ docker run --name my-own-phpmyadmin -d --link  twitter_clone_db_1 -p 8081:80 
phpmyadmin/phpmyadmin 

f1df1be3ac876912155029470016bdbe97960e293eec543cbd0bad383269fda9
docker: Error response from daemon: Cannot link to /twitter_clone_db_1, as it 
does not belong to the default network.

なんかネットワークにつながっていないみたい。
とりあえずネットワークを調べてみる。

$ docker network ls
NETWORK ID          NAME                    DRIVER              SCOPE
a05d069a01f9        bridge                  bridge              local
411a1f6ecd92        host                    host                local
5398f730cb0c        none                    null                local
8117a9fd204d        twitter_clone_default   bridge              local

つなぐべきは、一番下のネットワークだとわかったので、
オプションを使ってネットワークに接続させつつ、コンテナを起動させてみる。

$ docker run --net=twitter_clone_default  --name my-own-phpmyadmin -d --link  
twitter_clone_db_1 -p 8081:80 phpmyadmin/phpmyadmin

すると…

d762f136d4c888e4d1cb715536b44b33c98aca180bc10965fb9389624e834bb

できたーーーーーー
自力でやった甲斐がありました。泣

確認してみます!

$ docker ps
CONTAINER ID        IMAGE                   COMMAND                  CREATED             
STATUS              PORTS                               NAMES
fd762f136d4c        phpmyadmin/phpmyadmin   "/docker-entrypoint.…"   43 seconds 
ago      Up 42 seconds       0.0.0.0:8081->80/tcp           my-own-phpmyadmin

655317389bfd        mysql:5.7               "docker-entrypoint.s…"   24 hours ago        
Up 41 minutes       33060/tcp, 0.0.0.0:4506->3306/tcp   twitter_clone_db_1

しっかりできていました。

ということで、localhost:8081 へアクセスします。

スクリーンショット 2020-01-16 21.14.27.png

usernameに「root」を入れて、Passwordは自分で設定したものを入れてください。
スクリーンショット 2020-01-16 21.17.39.png

これで完成です!
Dockerを使えば、効率が著しく上がりますよね!
引き続き、webアプリケーション作成に励みます!

3
4
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
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?