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

推薦する

React Hooksを使用する際のよくある落とし穴

React Hooks は React 16.8 で導入された新しい機能で、クラスを使用せずに状態や...

「fsck」を使用して Linux のファイルシステムエラーを修正する方法

序文ファイル システムは、データの保存方法と復元方法を整理する役割を担います。 いずれにせよ、時間の...

CSS グラデーション効果の概要 (線形グラデーションと放射状グラデーション)

線形グラデーション 背景画像: linear-gradient(方向、開始色、中間色1、中間色2、....

Linux+ApacheサーバURLの大文字と小文字の区別の問題を解決する

今日、問題が発生しました。ブラウザのアドレスバーにURLアドレスを入力する際、ページを正常にアクセス...

Dockerを使用してElasticsearchクラスターを素早くデプロイする方法

この記事では、 Dockerコンテナ ( docker-composeを使用してオーケストレーション...

Ubuntu 20.04 IPアドレスを変更する方法の例

例:本日、前回のオフィスコラボレーションプラットフォーム実験の続きをしていたところ、仮想マシンは以前...

HTML チュートリアル: 順序なしリスト

<br />原文: http://andymao.com/andy/post/102.h...

MySQL マスタースレーブレプリケーションの実装手順

目次mysql マスタースレーブレプリケーションMySQL マスタースレーブレプリケーション方式My...

VueはTodoListの例をカプセル化し、ブラウザのローカルキャッシュのアプリケーションを実装します。

この記事では主に、Vue で TodoList をカプセル化するケースと、ブラウザのローカル キャッ...

DockerをインストールしてAlibaba Cloud Image Acceleratorを構成する方法

DockerのインストールDocker はオープンソースなので、Windows システムへのインスト...

vite2.0+vue3 モバイルプロジェクトの詳細な説明

1. 関連する技術的なポイントバイト版ヴュー3 ts統合ルーティングvuexを統合するAxiosを統...

この記事では、イベント委任を使用してJavaScriptメッセージボード機能を実装する方法について説明します。

イベント委任を使用してメッセージ ボード機能を実装します。 <!DOCTYPE html>...

CSS を使用して固定ナビゲーションと左右スライドを備えたスクロール バーを作成する方法

上に示すように、ナビゲーションは上部に固定されており、左右にスライドしてさらにオプションをクリックで...

JavaScript クラス配列の詳細な理解

js 配列はどこでも使用されているため、おそらく誰もがよく知っているでしょうが、配列クラス (疑似配...

VMware 仮想マシンでの CentOS7 ネットワーク構成 (ホストのワイヤレス インターネット アクセス)

CentOS7 システムを使用するのは今回が初めてで、ネットワーク構成を行う際に多くの問題が発生し...