現在、私は3つの異なるドッキング・コンテナ(phpとapache)を設定し、SQL Serverが動作している4番目のものを聞かせようとしています。 誰かが私のmysqlコンテナが他の3つのコンテナを聞くにはどうしたらいいですか?他の3つのドッキング・コンテナからMySQLにアクセスする
0
A
答えて
2
コンテナは、同じカスタムドッカーネットワークに接続されている場合、相互にやり取りすることができます。ネットワークは「分離」(つまり、同じネットワークに接続されているコンテナのみが相互作用できる)を提供します。コンテナにという名前のを指定した場合、コンテナ名はホスト名としてコンテナを使用して検索できます。
レガシー--link
オプションを使用して同様の結果を得ることができますが、たとえば、--link
。 「プライベートネット」と呼ばれる
アプリケーションのネットワークを作成
、docker network create private-net
スタートMySQLの「DB」という名前のコンテナ、および「プライベート・ネット」ネットワークに接続するドッキングウィンドウを教えてください。他のコンテナに接続するためにポート3306を「公開」する必要はないことに注意してください。
公開する(例えば、インターネットからアクセスできるようにする)場合は、ポートに公開する(
-p
)。
docker run -d --name=db --net=private-net -e MYSQL_ROOT_PASSWORD="secret" mysql
アプリケーションコンテナを起動します。ここの原則を実証するだけです。これにもmysql
コンテナを使用していますが、シェルセッションと対話的に起動してデータベースへの接続方法を示します。
docker run -it --name=app --net=private-net mysql bash
[email protected]:/# # we're in the 'app' container
[email protected]:/# # connect to the mysql container, using it's name ('db') as hostname
[email protected]:/# mysql -h db -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.17 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> \q
Bye
[email protected]:/# # exiting the container
[email protected]:/# exit
exit
あなたは/ docker network connect
とdocker network disconnect
コマンドを使用して、実行時にネットワークから切断した容器を接続することができます。コンテナは複数のネットワークに接続することができます。これは、複数のアプリケーションが共有するサービスを持つ場合に便利です。
Dockerネットワークの詳細については、work with network commands
を参照してください。
0
--link mysql:mysql
は他のコンテナ(apache、php ...)のdocker run
にあり、コンテナ内にはmysql
と表示されます。次のようなもの:
docker run -d -p 3306:3306 --name mysql my/mysql
docker run -d -p 8080:8080 --name apache --link mysql:mysql my/apache
希望すると助かります。
関連する問題
- 1. ドッキング・コンテナからzfsにアクセスする
- 2. ドッキング・コンテナからホストのsshトンネルにアクセス
- 3. ドッキング・コンテナのMySQL
- 4. ドッキング・コンテナの中からホスト・マシンのディレクトリにアクセスする方法は?
- 5. ドッキング・コンテナ内のI2C
- 6. ドッキング用コンテナのオーケストレーションツール
- 7. ドッキング用コンテナのデプロイ
- 8. ドッキング・コンテナ内にwriteFileを持つJenkinsfile?
- 9. ドッキング・コンテナのmysql max_connectionsを1024に増やす
- 10. 別のドッカー・コンテナ内の別のアプリケーションからドッキング・コンテナを起動する
- 11. ドッキング・コンテナの中からlocalhostへのリクエストを作成する
- 12. リンク/ポート転送で別のコンテナから1つのコンテナのアプリケーションにアクセスする
- 13. pipをドッキング用のコンテナからピックアップする
- 14. ドッキング・コンテナからローカル・マシンにファイルをコピーする
- 15. ドッキング・コンテナからホスト・マシンにデータを保存する
- 16. PHPと他のプロセスからMySQLに同時にアクセスする
- 17. ドッキング用コンテナをプロダクションにデプロイ
- 18. ドッキング・コンテナをローカル・ワークベンチに接続する
- 19. ドッキング用のコンテナ内から外部ホストのIPアドレスを取得するには
- 20. ejb3のコンテナからのアクセス
- 21. スリム3の別クラスから依存関係コンテナにアクセスする方法は?
- 22. コンテナからホストへのアクセス
- 23. 3つの画像から作られたコンテナのCSS
- 24. コンテナ内からホストドッカーマシンにアクセスする
- 25. 気流とドッキング用コンテナ
- 26. ドッキング・コンテナを再起動する謎
- 27. ドッキング用コンテナのリバースプロキシとしてのNginx
- 28. ドッキング・コンテナ・クラスタの上のDC/OS
- 29. 他のスレッドからBindingSourceにアクセスする