今日は Docker でのネットワーク設定を試し、後で忘れないようにプロセスを記録しました。 (システム: Centos 7.4、docker バージョン: 18.03.1-ce、docker-compose バージョン 1.18.0) 猫 docker-compose.yml バージョン: '3' サービス: テスト1: image: busybox:latest # 画像はbusyboxです エントリポイント: #コンテナがすぐに終了しないように、コンテナの起動後にtopコマンドを実行します - top ネットワーク: backend: # 指定されたネットワーク バックエンドを使用し、ネットワーク エイリアスを test1 に設定します。 aliases: # ネットワークエイリアスを設定したら、他のコンテナの test1 に ping してコンテナ - test1 にアクセスできます。 テスト2: 画像: busybox:最新 エントリポイント: - トップ ネットワーク: バックエンド: エイリアス: -テスト2 ネットワーク: バックエンド: 起動する docker-compose を起動 -d ドッカーps -a コンテナID イメージ コマンド 作成ステータス ポート名 4d05ceb2088d busybox:latest "top" 5秒前 4秒前 ibaboss_test2_1 f4ccafa24664 busybox:latest "top" 5秒前 4秒前 ibaboss_test1_1 docker exec -it 4d05ceb2088d /bin/sh /# pingテスト1 PING test1 (172.19.0.2): 56データバイト 172.19.0.2 からの 64 バイト: seq=0 ttl=64 time=0.061 ms 172.19.0.2 からの 64 バイト: seq=1 ttl=64 time=0.062 ms ibaboss_test1_1にping PING ibaboss_test1_1 (172.19.0.2): 56 データバイト 172.19.0.2 からの 64 バイト: seq=0 ttl=64 time=0.045 ms 172.19.0.2 からの 64 バイト: seq=1 ttl=64 time=0.056 ms 172.19.0.2 からの 64 バイト: seq=2 ttl=64 time=0.061 ms # ネットワークでは、コンテナ名またはネットワークエイリアスを介して通信できます Compose コンテナ名の形式は次のとおりです: <プロジェクト名><サービス名><シリアル番号> プロジェクト名とサービス名はカスタマイズできますが、コンテナの名前付けを完全に制御したい場合は、次のタグを使用して指定できます。 コンテナ名: アプリ docker-compose_v1.yml をキャットします バージョン: '3' サービス: テスト1: 画像: busybox:最新 エントリポイント: - トップ コンテナ名: test1 ネットワーク: - バックエンド テスト2: 画像: busybox:最新 エントリポイント: - トップ コンテナ名: test2 ネットワーク: - バックエンド ネットワーク: バックエンド: 起動する docker-compose -f docker-compose_v1.yml アップ -d ドッカーps -a コンテナID イメージ コマンド 作成ステータス ポート名 132859fc77c2 busybox:latest "top" 約 1 分前 約 1 分前 test2 cd0a78dc9bd4 busybox:latest "top" 約 1 分前 約 1 分前 test1 docker exec -it 132859fc77c2 ping test1 PING test1 (172.19.0.2): 56データバイト 172.19.0.2 からの 64 バイト: seq=0 ttl=64 time=0.070 ms 172.19.0.2 からの 64 バイト: seq=1 ttl=64 time=0.068 ms 172.19.0.2 からの 64 バイト: seq=2 ttl=64 time=0.059 ms 補充: Docker Compose の複数コンテナ共有ネットワークの問題 数日前、docker composeを使用して複数のコンテナを記述し、コンテナネットワークを共有することを計画しましたが、常にエラーが発生しました。今日もう一度試してみたところ、ポートのバインドの問題が原因であることがわかりました。ポートは、ネットワークカードを生成するコンテナにのみバインドできます。他のウィンドウにバインドされている場合は、エラーが報告されます。次のコードでは、mysqlサービスがnginxネットワークカードを共有しています。mysqlでポート:3306を使用すると、実行に失敗します。3306をnginxに移動して、正常に起動します。 バージョン: '3.3' サービス: nginx: 画像: "lnp_php" # コンテナ名: "lnmp_nginx" ポート: - 「80:80」 - 「443:443」 - 「3306:3306」 さらす: - 「3306」 ボリューム: - /home/www/php:/home/www:rw # 依存: # -mysql リンク数: # -mysql マイスク: 画像: 「mysql」 # コンテナ名: "lnmp_mysql" ポート数: # - 「3306:3306」 # さらす: # - "3306" ボリューム: - /home/docker/conf/mysql_w:/etc/mysql:rw 環境: -MYSQL_ROOT_PASSWORD=123456 依存: - nginx ネットワークモード: "サービス:nginx" 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Bootstrap FileInputは画像アップロード機能を実装します
>>: MySQLインジェクションバイパスフィルタリング技術の概要
MySQL には次のログ ファイルがあります。 1: 再実行ログ2: ロールバックログ(元に戻すログ...
目次ディスク使用量の表示ディスク クリーンアップ (軽々しく使用しないでください)データの移行ディス...
VMwareでcentos8サービスをインストールしてコピーすると、次の問題が発生します。 コピー前...
<br />「XXXのウェブサイトを見てみませんか?」といった質問をされることもあります...
通常、プロジェクト開発では、マージン、位置、座標などを扱う必要があります。悲劇なのは、これらの概念が...
序文InnoDB はデータをテーブルスペースに保存します。デフォルト設定では、初期サイズが 10 M...
目次1. ElementUIで基本的なスタイルを構築する2. [送信]ボタンをクリックして、アカウン...
1. Pythonは起動時に自動的に実行されますPython の自己起動スクリプトがauto.pyで...
目次1つのマスターと複数のスレーブのレプリケーションアーキテクチャマルチレベルレプリケーションアーキ...
目次1 データベース インデックスを作成するための一般的なルールは次のとおりです。 2. 数千万件の...
1. doctypeの役割、厳密モードと混合モードの違い、そしてその重要性1. 構文形式: <...
1. はじめにSupervisor は Python で開発された汎用プロセス管理プログラムです。通...
目次1. Dockerをインストールする2. influxDBをインストールして設定する3. Gra...
目次1. 技術概要2. 技術的な詳細1. インターフェースからバックエンドデータを取得する2. フロ...
この実験のテスト環境: Windows 10+cmd+MySQL5.6.36+InnoDB 1. ト...