MacでDockerがホストマシンにpingできない問題を解決する

MacでDockerがホストマシンにpingできない問題を解決する

解決

Docker for Macに付属するLinux仮想マシン(軽量ですが、ソケットファイルを使用してOSXと通信します)を放棄し、docker-machineを使用します。

VirtualBoxをインストールします。 virtualbox が作成されると、仮想ネットワーク カードが追加され、ifconfig コマンドで表示できるようになります。これを実装する方法は、この仮想ネットワーク カードを使用することです。

docker-machineを使用してデフォルトのLinux仮想マシンを作成します。コマンドdocker-machine create

docker環境を切り替えてeval $(docker-machine env)コマンドを使用する

作成された仮想マシンのIPアドレスを確認します。192.168.99.100の場合はdocker-machine ip default、または直接docker-machine ipを実行します。

route コマンドを実行し、ゲートウェイとして 192.168.99.100 を使用し、docker コンテナの IP セグメントをこの IP にルーティングします。 Docker コンテナのネットワーク セグメントが 172.17.0.0/16 の場合、sudo route -n add -net 172.17.0.0/16 192.168.99.100 コマンドを使用してルーティング情報を追加します。

Docker コンテナを起動します。このテストでは redis:alpine イメージを使用します: docker run -d redis:alpine。実行中のミラー IP を確認します。そしてpingテスト。予期しない事態が発生しなければ、ホスト マシンはコンテナーに ping を実行できるようになります。

補充:

"$(docker-machine env -u)" を評価します

DOCKER_* 変数を設定解除します。

記録のために、これは docker-machine env -u の出力です:

DOCKER_TLS_VERIFY の設定を解除
DOCKER_HOST の設定を解除
DOCKER_CERT_PATH の設定を解除する
DOCKER_MACHINE_NAME の設定を解除

追加情報: Mac Dockerホストモードは使用できません

今日、Macのdockerにfastdfsをインストールし、ホストモードでトラッカーとストレージを起動しましたが、動作しませんでした。

ホスト ネットワーク ドライバーは Linux ホストでのみ動作し、Docker for Mac、Docker for Windows、Docker EE for Windows Server ではサポートされていないことが判明しました。

実はこの制限があるんです。ああ、一日が無駄になった。

Mac で docker がホストマシンに ping できない問題を解決する方法に関する上記の記事は、編集者が皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerコンテナがホストポートにアクセスできない場合の解決策
  • Dockerコンテナを使用してホストネットワークにアクセスする方法
  • dockerコンテナは直接実行され、pingを介してパブリックIP操作を取得します。

<<:  TypeScriptのインデックスシグネチャの理解に関する簡単な説明

>>:  XHTML CSSを使用して正式なブログを書く

推薦する

Vue+SpringBoot で Alipay サンドボックス決済を実装するためのサンプルコード

まず、Alipay サンドボックスから一連のものをダウンロードします。多くのブログで取り上げられてお...

数字当てゲームを実装するための純粋なJavaScript

100 以内の自然数をランダムに選択し、プレイヤーに 10 ラウンド以内にその数を推測させる数字推...

Linux システムで HugePages をすばやく構成するための完全な手順

序文Linux システムの HugePages と Oracle データベースの最適化については、関...

MySQL マスタースレーブレプリケーションのいくつかのレプリケーション方法の概要

非同期レプリケーションMySQL レプリケーションは、デフォルトでは非同期です。マスター スレーブ ...

ネイティブJSでマウススライドによる愛の拡散効果を実現

この記事では、マウスをスライドすると愛が広がる js 特殊効果を紹介します。効果は次のとおりです。 ...

MySQLは複数テーブル関連統計(サブクエリ統計)の例を実装します

この記事では、例を使用して、MySQL で複数テーブルの関連統計を実装する方法について説明します。ご...

Docker での Tomcat インストールの 404 問題の解決方法

tomcat の containerID を見つけて、tomacat ディレクトリに入ります。 [r...

Nginx http ヘルスチェック構成プロセス分析

パッシブチェックパッシブ ヘルス チェックでは、NGINX と NGINX Plus はイベントの発...

Tencent Cloud Server での Jenkins の設定方法の詳細

目次1. Tencent Cloud Serverに接続する2. 環境整備Jenkinsのデプロイメ...

Vue で CSS カスタム変数を使用する方法

目次CSS カスタム変数機能は古くから存在していますが、実際の開発ではあまり使用されていません。その...

CSS 擬似要素::マーカーの詳細な説明

この記事では、CSS ::markerの興味深い疑似要素を紹介します。これを使用すると、テキスト番号...

Linux で TCP 接続の最大数をテストする方法

序文TCP サーバの最大同時接続数に関して、「ポート番号の上限が 65535 であるため、TCP サ...

CentOS 7.2 は uniapp プロジェクトを展開するための nginx Web サーバーを構築します

Pantherは新人としてスタートし、今もまだ新人ですが、人々から学び、学んだことを時々皆さんと共有...

Vue 大画面データ表示例

効率的に要件を満たし、コンポーネント ライブラリの肥大化や車輪の再発明を避けるために、私は以前、大画...

CSS3 のエラスティック レイアウトでの em の使用の概要: 1em は何ピクセルですか?

私は長い間 CSS を使用してきましたが、Web 要素の関連属性を設定するために常に「px」を使用し...