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

推薦する

Vue3 (パート 2) Ant Design Vue の統合

目次1. Ant Design Vueを統合する2. コンポーネントの使用1. 完全な引用2. コン...

TypeScript をインストール、使用、自動コンパイルする方法に関するチュートリアル

1. TypeScriptの紹介前回の記事ではTypeScriptのインストール、使い方、自動コンパ...

html5 の新しいメソッドを使用して JavaScript で要素クラス名を操作する方法の詳細な説明

目次1. classList属性2. 実用化以前の JavaScript では、最初にクラス属性を取...

Ubuntu 16.04 サーバーで MySQL を設定し、リモート接続を有効にする方法

背景最近、Node.js を勉強しているのですが、クラウド サーバーがあることを思い出しました。しか...

クラウドネイティブテクノロジーKubernetesスケジューリングユニットポッドの使用の詳細な説明

k8s の最小のスケジューリング単位 --- pod前回の記事では、k8s が解決できる問題を簡単に...

CSSは2つの要素をブレンドする効果(スティッキー効果)を実現します。

数年前、Taobaoのモバイル版の左下隅に面白い丸いボタンがあったことを覚えています。それをクリック...

基本的な HTML ディレクトリの問題 (相対パスと絶対パスの違い)

相対パス - ファイルを参照する Web ページの場所に基づいて確立されたディレクトリ パス。そのた...

ウェブページ作成の基本宣言文書型記述(DTD

CSS レイアウトを使用して WEB 標準に準拠した Web ページを作成することは、jb51.ne...

VirtualBox に CentOS、JDK、Hadoop をインストールする詳細なチュートリアル

目次1. 前提条件1.1 サポートされているプラ​​ットフォーム1.2 jdk および hadoop...

Tomcat9 のダウンロード、インストール、設定 + Eclipse への統合に関する詳細なチュートリアル

トムキャット公式サイトtomcatはローカルサーバーと同等であり、Webページを開くことができます設...

Nginx を使用してグレースケール リリースを実装する

グレースケールリリースとは、白と黒をスムーズに移行できるリリース方法を指します。 ABテストとは、グ...

Vue ローカルコンポーネントデータ共有 Vue.observable() の使用

コンポーネントが詳細になるにつれて、複数のコンポーネントが状態を共有する状況に遭遇するでしょう。Vu...

Tomcat の maxPostSize 設定に関する問題と注意事項

1. maxPostSize を設定する理由は何ですか? tomcat コンテナには送信データのサイ...

jsドラッグ効果の原理と実装

ドラッグ機能は主に、ドラッグによる並べ替え、ポップアップ ボックスのドラッグと移動など、ユーザーがカ...

MySQL 8.0 以降の一般的なコマンドの詳細な説明

リモートアクセスを有効にする次のコマンドを実行して、root ユーザーのリモート アクセス権を有効に...