1. Dockerネットワークモードdocker run が Docker コンテナを作成するときに、–net オプションを使用してコンテナのネットワーク モードを指定できます。Docker には次の 4 つのネットワーク モードがあります。 –net=host を使用して指定されるホスト モード。 コンテナ モード。–net=container:NAME_or_ID を使用して指定します。 なしモード。–net=none を使用して指定します。 ブリッジ モード。–net=bridge を使用して指定され、デフォルト設定です。 ホストモードコンテナを起動するときにホスト モードを使用すると、コンテナは独立したネットワーク名前空間を取得せず、ホストとネットワーク名前空間を共有します。コンテナは独自のネットワーク カードを仮想化したり、独自の IP を構成したりはせず、ホストの IP とポートを使用します。 たとえば、マシン 10.10.101.105/24 上でホスト モードで Web アプリケーションを含む Docker コンテナーを起動し、TCP ポート 80 をリッスンします。コンテナ内で ifconfig などのコマンドを実行してネットワーク環境を表示すると、ホストマシン上の情報が表示されます。外部からコンテナ内のアプリケーションにアクセスする場合、ホストマシンで直接実行する場合と同じように、NAT 変換なしで 10.10.101.105:80 を直接使用できます。ただし、ファイル システムやプロセス リストなど、コンテナーの他の側面は、ホスト マシンから分離されたままです。 コンテナモードこのモードでは、新しく作成されたコンテナーがネットワーク名前空間をホストと共有するのではなく、既存のコンテナーと共有することを指定します。新しく作成されたコンテナは、独自のネットワーク カードを作成したり、独自の IP を構成したりするのではなく、指定されたコンテナと IP、ポート範囲などを共有します。同様に、ネットワークを除いて、ファイル システムやプロセス リストなど、2 つのコンテナーの他の側面は分離されたままです。 2 つのコンテナのプロセスは、lo ネットワーク カード デバイスを介して通信できます。 なしモードこのモードは前の 2 つとは異なります。このモードでは、Docker コンテナには独自のネットワーク名前空間がありますが、Docker コンテナに対してネットワーク構成は実行されません。つまり、この Docker コンテナには、ネットワーク カード、IP、ルーティングなどの情報が含まれていません。 Docker コンテナのネットワーク カードを追加し、IP を構成する必要があります。 ブリッジモードブリッジモードはDockerのデフォルトのネットワーク設定です。コンテナごとにネットワーク名前空間を割り当て、IPアドレスなどを設定し、ホスト上のDockerコンテナを仮想ブリッジに接続します。 Docker サーバーを起動すると、ホスト上に docker0 という仮想ブリッジが作成されます。このホスト上で起動された Docker コンテナは、この仮想ブリッジに接続されます。 仮想ブリッジは物理スイッチと同様に動作し、ホスト上のすべてのコンテナーがスイッチを介してレイヤー 2 ネットワークに接続されます。次のステップはコンテナにIPを割り当てることです。DockerはRFC1918で定義されたプライベートIPセグメントからホストマシンとは異なるIPアドレスとサブネットを選択し、docker0に割り当てます。docker0に接続されたコンテナは、このサブネットから空いているIPを選択します。 たとえば、Docker は通常、ネットワーク セグメント 172.17.0.0/16 を使用し、172.17.42.1/16 を docker0 ブリッジに割り当てます (docker0 は、ホスト上で ifconfig コマンドを使用して確認できます。ブリッジの管理インターフェイスと見なすことができ、ホスト上の仮想ネットワーク カードとして使用できます) 2. Dockerネットワーク構成 – 固定IPの設定Docker コンテナは起動時にデフォルトでブリッジ モードを使用します。Docker コンテナが起動すると、docker0 という仮想ブリッジに接続されます。そのため、Docker コンテナの IP アドレスは起動するたびに固定されず、管理が不便です。Docker クラスターを管理する場合など、固定 IP マッピングが必要になる場合があります。 Docker コンテナに固定 IP を設定する場合、コンテナの IP を設定するためにパイプワークが必要です。 1. ホストは次のようにパイプワークをダウンロードします。$ git クローン https://github.com/jpetazzo/pipework.git $ cp パイプワーク/パイプワーク /usr/local/bin/ 2. ブリッジツールパッケージbridge-utilsをインストールする$ yum -y ブリッジユーティリティをインストールします 3. ブリッジを作成し、IPセグメントを設定する$ brctl addbr br1 $ ip link set dev br1 up $ IPアドレス 192.168.10.1/24 dev br1を追加します 4. コンテナを起動する#centosイメージをベースにしたコンテナ(centos-ip)を起動します $ docker run -d --name=centos-ip centos 5. IPを設定する$ パイプワーク br1 centos-ip 192.168.10.20/24 centos-ipという名前のコンテナにはIP 192.168.10.20が割り当てられています。 ping コマンドと ssh コマンドを使用して、ping を実行して正常にログインできるかどうかを確認します。 $ 192.168.10.20にpingする $ 192.168.10.20 へログイン 注意: SSH 時に Centos コンテナの root パスワードを入力する必要があります。 Centos コンテナの作成時に root パスワードを指定しなかった場合は、まずコンテナに入って root パスワードを設定できます。 docker exec -it コンテナID/名前 sudo パスワード ルート 付録: ブリッジの削除 brctl ショー # ブリッジのステータスを確認する brctl delif <ブリッジ名> <ポート名> #ブリッジのポートをアンインストールする ifconfig # ブリッジネットワークカード名があるかどうかを確認します ifconfig <ブリッジ名> down #このネットワークカードを閉じる brctl delbr <ブリッジ名> #ブリッジを削除する Docker バージョン 1.9 以降では、次の方法を使用できます。1. カスタムネットワークを作成する docker ネットワーク作成 --subnet=192.168.10.1/24 network_my # docker ネットワーク ls ネットワーク ID 名前 ドライバー スコープ 1fb22da7d8a3 ブリッジ ブリッジ ローカル fe259334b842 ホスト ホスト ローカル 8c5971ff48d8 network_my ブリッジ ローカル 3aaf0356c19c なし null ローカル 2. Dockerコンテナを起動する docker run -itd --name hadoop0 --hostname hadoop0 --net network_my --ip 192.168.10.30 -d -P -p 50070:50070 -p 8088:8088 hadoop:master 補足: Docker イメージソースの変更とネットワークモードの変更 docker イメージが変更されました。/etc/docker/daemon.json にイメージ アドレスを追加し、別の方法で有効にしてください。 { "exec-opts": ["native.cgroupdriver=systemd"] } Dockerを再起動する systemctl docker を再起動 systemctl docker のステータス それは実際にうまくいきました。 dockerの設定は時々このように動作し、時々このように動作します。本当に言葉にできません 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。 以下もご興味があるかもしれません:
|
<<: JavaScriptのクローン作成についての簡単な説明
>>: プロトタイプとプロトタイプチェーン プロトタイプとプロトタイプの詳細
公式文書には次のように記されている。ルーターを挿入することで、どのコンポーネントでも this.$r...
Angular入門Angular は、Google が開発したオープンソースの Web フロントエン...
目次序文単一ファイルコンポーネント基本概念シンプルなローダーコンポーネントコンテンツの解析コンポーネ...
かなり前の記事で、 -webkit-box-reflectプロパティについて説明しました。リフレクシ...
概要最近MySQL関連の知識を勉強し始めました。学んだ知識ポイントと自分の理解を元に整理して共有しま...
目次1. はじめに2. es5メソッド3. 非同期関数のシリアル実行4. 非同期関数の並列実行5. ...
目次ターゲット思考分析コード着陸要約するターゲットトークンの有効期限切れシナリオの処理トークンは、ユ...
目次rc.local メソッドchkconfig メソッドrc.local メソッド1 まず自動的に...
目次コンテナ階層サーブレットの検索を要求するプロセス仕組みTomcat のコンテナは Servlet...
01. コマンドの概要実際には、locate コマンドは find -name の別の書き方ですが、...
この記事では、JavaScriptの長い画像スクロールの具体的なコードを参考までに共有します。具体的...
目次1. コンポーネント切り替え方式方法1: v-ifとv-elseを使用する方法 2: 組み込みコ...
問題の説明: docker run -p 19918:19918/tcp -v /etc/local...
HTML の再利用は、あまり話題に上らない言葉です。今日は、この問題を次のようにまとめたいと思います...
私の開発環境は、VMWare 仮想マシンに CentOS をインストールし、ホスト ファイルにインタ...