2017-11-03 12 views
1

MySQLとPHPを使用してドッカーに移行しようとしていますが、リンクするのが難しいです。私は実行して、それをテストするためにwordpress:latestphpmyadminでの作業mysql:5.7を得ることができました:Docker:--linkタグ:dbと--linkタグの違いは何ですか?

docker run --name testdb -d -e MYSQL_ROOT_PASSWORD=password mysql:5.7 

docker run --name testadmin -d --link testdb:db -p8080:80 phpmyadmin/phpmyadmin 

docker run --name testwp -d -p 80:80 -e WORDPRESS_DB_PASSWORD=password --link testdb:mysql wordpress 

は、私がtag:mysql使用しましたtag:dbを使用し、その逆は、接続の問題が表示されます。私は違いを理解しようとすると、私はリンクをどうする仕様にドキュメントを探してみたが、どちらかの異なっについて多くの情報がないtag:dbtag:mysqlを使用すると、TCP

対接続タイプ、すなわちソケットがあるか否かを判断していますリンクの種類や私のgooglefuは嗅ぎどころではありません。

私はまだphpmyadminのソースとWordPressのソースを使って、どの機能を使っているのか分かりませんが、すべての情報やポインタは大変に感謝しています。

+0

あなたはtestdb:dbを参照していますか? – Sergiu

+0

違いを残しておいてください。ドッカーで '--link'を使用しないようにしてください。これは廃止予定で、今後リリースされるバージョンでは削除される予定です。 –

+0

はいSergiuはtestdbを試しました:phpmyadminリンクのmysqlは、 db for wordpress。 –

答えて

0

MySQLのコンテナが私のために正しい見えますので、使用し続ける:

docker run --name testdb -d -e MYSQL_ROOT_PASSWORD=password mysql:5.7 

しかしphpadminに、あなたは次のように、MySQLへのリンクに名前testdbを使用する必要があります。ここでは

docker run --name testadmin -d --link testdb -p8080:80 phpmyadmin/phpmyadmin 

あなたは明確な関連を持っていますこの容器から別のものにtestdb、したがってphpmyadminの中であなたはMySqlコンテナを参照することができます。このパスワードは、MySQLのコンテナのためではないことを意図しているため、

docker run --name testwp -d -p 80:80 --link testdb wordpress 

そして、あなたはここにMySQLのrootパスワードを入力する必要はありません。

wordpressについて、あなたは同じことをしなければならない、とのリンクのMySQLコンテナの名前を、のようなこのため。

このアプローチは私のために働く、それがあなたを助けてくれることを願っています!

+0

Vladimirありがとうございました。phpmyadminコマンドでmysqlを終了すると、ハングしてリセットされます。 –

関連する問題