今日は 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インジェクションバイパスフィルタリング技術の概要
1. keepalived の紹介Keepalived は、もともと LVS クラスタ システム内の...
この記事では、マウスがテーブルの行を通過するときにJavaScriptを使用して色ラベルを表示する方...
Mysqlはブール型を設定します1. Tinyintタイプテストテーブルを作成し、blフィールドをブ...
序文: Integer は MySQL で最もよく使用されるフィールド型の 1 つで、通常は整数を格...
序文Docker イメージは Dockerfile といくつかの必要な依存関係で構成され、Docke...
ローカルでコンテナを作成した後、このコンテナに基づいてローカル イメージを作成し、このイメージを D...
この記事では、CSS3 を使用した Web サイトの商品表示の効果を紹介し、皆さんと共有します。詳細...
この記事では、簡単なドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...
目次序文$属性例: $listeners (公式説明)使用シナリオ要約する序文複数レベルのコンポーネ...
プロジェクトシナリオ: Dark Horse Vueプロジェクト管理の実践、製品分類の取得、拡張バー...
導入この記事は、 React + antdをベースにして、完全な全屏demoを紹介します。その理由は...
最近、プロジェクトの過程で問題に遭遇しました。メニューバーを常に上部に表示し、後続の要素をその下に表...
属性値の正規一致セレクターには 3 つの種類があります。 [属性^="値"] [...
1. 戻るボタンhistory.back() を使用してブラウザの「戻る」ボタンを作成します。 &l...
MySQL データをエクスポートする目的は、データベースのバックアップ、テーブル構造のエクスポート、...