2016-08-20 17 views
1

PHPMyAdmin-ContainerをMySQLコンテナに接続してデータベースを表示しようとしています。[Docker]:PHPMyAdminをMySQLに接続していません

私はPHPMyAdminのにログインしようとすると、私が取得$ docker run --name myadmin -d --link databaseContainer:mysql -p 8080:8080 phpmyadmin/phpmyadmin

経由$ docker run --name databaseContainer -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql

経由でMySQLのコンテナとPHPMyAdminの-コンテナを開始しました: し、mysqli_real_connect():php_network_getaddressesを:のgetaddrinfoは失敗しました:名前はしていません(HY000/2002):php_network_getaddresses:

し、mysqli_real_connectを()解決のgetaddrinfoは失敗しました:ナを私はちなみに

が解決されない、私はまた、ワードプレスコンテナを開始し、また、mysqlのにそれをリンクし、そこにそれが動作します...

答えて

11

代わりのそれらを一つずつを開始、ドッキングウィンドウのコンを使用しています。

その後、あなたdocker-compose.ymlファイルが置かれている同じフォルダにdocker-compose upを使用して、それを開始

version: '2' 
services: 
    db: 
    image: mysql 
    environment: 
     MYSQL_ROOT_PASSWORD:my-secret-pw 
    ports: 
     # just if you also want to access it directly from you host 
     # node neede for phpmyadmin 
     - "3306:3306" 
    phpmyadmin: 
    image: phpmyadmin/phpmyadmin 
    depends_on: 
     - db 
    ports: 
     - "8080:8080" 

ドッキングウィンドウ-compose.ymlファイルを作成します。 phpmyadminが開くと、サービスの名前であるため、ホスト名に「db」と入力します。すべてのリンクはあなたのためにセットアップされており、それは箱のままで動作します。

これははるかに簡単です - ドッカーの実行は物事を複雑にするものであり、これらのことには実用的ではありません。

ヒント:ドッキングウィンドウ-コンがあなたのためにインストールされていない場合は、phpMyAdminは/ phpmyadminの(/www/config.inc.php)の設定ファイルは、デフォルトでホスト名を言って、この公式HOWTOにhttps://docs.docker.com/compose/install/

+0

おかげで、それは作品!私はまた、環境変数(DBホスト、ユーザ、PW)を入力することはオプションであることを知りました。ちょうどリンクがうまくいきません... – Pascal

+0

ドッカーでENV変数をすべて入力することもできますが、 clear –

+0

私は、あなたがホスト名として 'db'を使用できるかどうかわかりませんでした。ありがとう! – Jake88

1

を使用してインストール'db'の場合のデータベースサーバーの数:

$ hosts = array( 'db');

データベース名コンテナは「DB」ではない場合(マルチDBサーバ場合やPMA_HOSTS)だから、あなたは環境変数PMA_HOST =を追加する必要があります右の名前で(あなたのケースでdatabaseContainer)

+0

私は 'docker run --name myadmin -d --link mysql_db_server:db -p 8080:80 phpmyadmin/phpmyadmin'を実行すると、何らかの理由でdocker-composeでは動作しません。 env varに対するあなたの提案は、すべてのドキュメントになければなりません。 Dockerはあまりにも多くの細部にわたって光沢を伝えています! – gdbj

関連する問題