今日は 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 8.0.12のインストールと設定に関する詳細なチュートリアルを記録しています。...
これは今日私が踏んだ4つの落とし穴を記念したものです...落とし穴1:地元のせいエラー:エラー 39...
同僚から、LINUX サーバー上の多くのコマンドが (コマンドが見つかりません) というプロンプトで...
実施効果: 1. count(1) と count(*)テーブル内のデータ量が多い場合、テーブルを分...
ある設計士はこう尋ねた。「実際のプロジェクト制作には参加せずに、純粋に設計だけをすることはできますか...
idea を使用して JSP ファイルを書き込む前に、jdk 環境 (ここでは説明しません) と対応...
目次序文1. 公式サイトからMySQLをダウンロードする2. 解凍ファイルを設定する3. 初期化4....
1.17.9 本当はもっと美味しいNginx のダウンロード アドレス: https://nginx...
目次1.Json文字列1.1Json構文1.2 例2. クッキー2.1 使い方は? 3. ローカルス...
サンプルコード: java.util.Random をインポートします。 java.util.UUI...
1. yumの紹介Yum (フルネームは Yellow dogUpdater、Modified) は...
Web ページの制作では、要素の表示と非表示は非常に一般的な要件です。この記事では、要素を表示したり...
この記事では主に、ElementUI テーブルのヘッダー アイコンにフローティング プロンプトを追加...
目次インデックス プッシュダウンとは何ですか?インデックスプッシュダウン最適化の原理インデックスプッ...
まず、Moments を開いて、写真の数が異なるいくつかのレイアウトを確認するか、以下の例を参照して...