2017-09-12 11 views
0

私は以下のコマンドを使用して、ドッカーコンテナでMySQLを実行しています。リンクされたMySQLドッカークライアントに接続

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest 

上記のコマンドの仕組みを理解できます。 以下のコマンドを使用して、上記のコンテナで実行中のMySQLを別のドッカーコンテナから接続しようとしています。

docker run -it --link some-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"' 

私は上記のコマンドの仕組みがはっきりと分かりません。私は理解することができます - 、 - link --rmしかし、どのように変数MYSQL_PORT_3306_TCP_ADDR、MYSQL_PORT_3306_TCP_PORT、MYSQL_ENV_MYSQL_ROOT_PASSWORD。

ご迷惑をおかけして申し訳ありません。

+0

これらは、他のコンテナに接続するコンテナを実行しているときに開こうとしている環境変数です。 https://snipe-it.readme.io/v3.0/docs/docker –

答えて

2

これは、レガシーネットワークページhttps://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/#environment-variablesで説明しています。これらの変数は、--linkを使用してコンテナ内で定義されています。このコマンドは、環境変数を使用してMySQLを処理するコンテナのポートとIPアドレスを把握しています。

しかし、最近はネットワークを作成して名前でコンテナに接続できます。

関連する問題