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を使用して正式なブログを書く

推薦する

グリッド共通レイアウトの実装

両側に隙間なし、各列間に隙間あり 幅: 100%; 表示: グリッド; グリッドテンプレート列: r...

MySQL における「:=」と「=」の違いの簡単な分析

=設定および更新の場合にのみ、:= と同じ効果、つまり代入効果があり、それ以外の場合は等号の効果があ...

three.js で 3D ダイナミック テキスト効果を実現する方法

序文みなさんこんにちは。CSS ウィザードの alphardex です。以前、海外のウェブサイトを閲...

Vue の高度な構築プロパティの詳細な説明

目次1. ディレクティブカスタムディレクティブ2. ミックスイン3. 継承を拡張する4. 提供して注...

Linux でスワップ領域を確認する 5 つのコマンドの概要

序文Linux では、スワップ パーティションとスワップ ファイルの 2 種類のスワップ領域を作成で...

Elasticsearchツールcerebroのインストールと使用チュートリアル

Cerebro は、Elasticsearch バージョン 5.x より前の Elasticsear...

フロントエンドセキュリティの詳細な説明: JavaScript の http ハイジャック対策と XSS

目次HTTP ハイジャック、DNS ハイジャック、XSS HTTPハイジャックDNSハイジャックXS...

Innodb で MySQL の 2T テーブルをすばやく削除する方法の例

序文この記事は主に、MySQL の Innodb で 2T の大きなテーブルをすばやく削除する方法に...

CSSアニメーション効果アニメーションの一般的なスタイル

アニメーションアニメーションを定義します。 /*アニメーションの各ステップで実行されるアクションを定...

MySQL での GROUP_CONCAT の使用例の分析

この記事では、例を使用して、MySQL で GROUP_CONCAT を使用する方法について説明しま...

Linuxのpasswdコマンドの使用

1. コマンドの紹介passwd コマンドは、ユーザー パスワード、アカウント ロック、パスワードの...

SWFObjectを使用すると、HTMLにFlashを挿入する際のブラウザ互換性の問題を完全に解決できます。

一緒に学びましょう1. 伝統的な方法コードをコピーコードは次のとおりです。 <object c...

JavaScriptのプリミティブ値とラッパーオブジェクトの詳細な紹介

目次序文文章プリミティブ型プリミティブ値ラッパーオブジェクト物体コンストラクタ通常機能(関数)プリミ...

Docker コンテナに TensorRT をインストールする際の問題

Ubuntu にインストールされているバージョンをアンインストールします。 sudo apt-get...

MySQLパーティションテーブルの詳細な説明

序文:パーティショニングはテーブル設計パターンです。一般的に、テーブル パーティショニングとは、条件...