Docker コンテナはサービスを提供し、ポート 8888 をリッスンします。外部からアクセスできるようにするには、ポート マッピングが必要です。 docker run -it --rm -p 8888:8888 サーバー:v1 この時点で問題が発生します。仮想マシン A にデプロイした後、8888 ポート サービスは A ではアクセスできますが、B ではアクセスできません。 これはリクエストが傍受されたために発生するはずです。 1. ファイアウォール-cmd --stateを確認する出力が「not running」の場合、FirewallD は実行されておらず、すべての保護ポリシーが開始されていません。この場合、ファイアウォールが接続をブロックしている可能性は排除できます。 出力が「running」の場合、FirewallD が現在実行中であることを意味します。現在開いているポートとサービスを表示するには、次のコマンドを入力する必要があります。 ファイアウォールコマンド --list-ports ファイアウォールコマンド --list-services 解決策は2つあります。 1. FirewallD サービスをオフにします。 ファイアウォールが不要な場合は、FirewallD サービスをオフにしてください。 systemctl 停止 ファイアウォールd.service 2. 指定したポートを外部に開くポリシーを追加します。 たとえば、外部の 5000/tcp ポートを開きたい場合は、次のコマンドを使用できます。 ファイアウォールコマンド --add-port=5000/tcp --permanent ファイアウォール-cmd --reload ポートを一時的にのみ開きたい場合は、コマンドの最初の行にある「--permanent」パラメータを削除します。その後、FirewallD サービスを再起動すると、このポリシーは無効になります。 2. IP転送がオンになっていないsysctl net.ipv4.ip_forward net.ipv4.ip_forward=0 と表示される場合は有効になっていません。 3. サービスiptablesがオンになってブロックされているiptablesサービスをオフにすることができます サービスiptables停止 docker の実行中にエラーが発生した場合:
その後、dockerサービスを再起動するだけです サービスdockerの再起動 または: #iptablesファイアウォールをスタートアップ項目として設定する systemctl enable iptables.service #設定ファイルを有効にするためにファイアウォールを起動します systemctl start iptables.service #ファイアウォールを停止します systemctl stop iptables.service #設定ファイルを有効にするためにファイアウォールを再起動します systemctl restart iptables.service 最終版: docker を起動してポートをマッピングすると、docker は iptables に DNAT ルールを追加し、対応するポートから受信したパケットを IP に変換して転送します。同時に、docker ドメインのすべての IP を変換するルールも追加されます。 しかし、Centos7ではdockerは正常に外部ネットワークにアクセスできるものの、外部ネットワークから送信されたリクエストはeth1で受信・転送された後docker0に届けられない、もしくは届けられても(oui Unknown)という状況が出てしまいます。 DNAT 後にデータが docker0 に配信できない理由は不明です。 最終的な解決策は、dockerを起動した後にiptablesを再起動することです。 サービスiptablesを再起動 dockerによって追加されたすべてのルールをクリアし、ルールを追加します iptables -t nat -A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j マスカレード Docker からのすべてのパッケージの IP アドレス 172.17.0.0/16 をローカル IP アドレスに置き換えて送信し、Docker が外部ネットワークにアクセスするという目的を達成します。 これで、docker ポート マッピングと外部アクセス不可に関するこの記事は終了です。docker ポート マッピングと外部アクセスの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Vue は Axios リクエスト フロントエンドのクロスドメイン問題をどのように解決するのか
目次問題1: 破壊1. 破壊する方法2. いつ破壊するか2.1 解決策1: route.queryを...
目次js ディープコピーデータ保存方法浅いコピー/深いコピーとは何か一般的なディープコピーの実装1....
これら 2 つの属性はよく使用されますが、その違いはまとめられていません。それでは、その使い方をまと...
1. ハイパーリンクアイコンの仕様とは?<br />ハイパーリンクアイコンの仕様は、「C...
3D座標の概念要素が回転すると、その座標軸も一緒に回転します。注 -y方向の問題立方体を回転させる効...
1. 仮想マシンに共有フォルダを設定します。 1. 処理する仮想マシンを選択し、右クリックして設定...
<br />この例では、主に onblur と onFocus という 2 つのパラメー...
画像の周囲にテキストを折り返すとは何ですか?これは次の図の効果です。 エフェクトのCSSコードはここ...
1 はじめにKong は単純な製品ではありません。この記事で言及されている Kong は主に Kon...
MySQL を長い間使用してきた多くの人は、これら 2 つのフィールド属性の概念をまだよく理解して...
目次序文準備行く!文章プロセスを開始するメインループまとめ要約する序文準備皆さんは、こんなことを考え...
図書館運営クエリ1.SHOW DATABASE; ----すべてのデータベースを照会する2. SHO...
序文MySQL は、2016 年もデータベースの人気において力強い成長傾向を維持し続けました。 My...
この記事では、jQueryのクリック時のラブエフェクトの具体的なコードを参考までに共有します。具体的...
この記事では、例を使用して MySQL の悲観的ロックと楽観的ロックについて説明します。ご参考までに...