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

推薦する

画像のフェードインとフェードアウト効果を実現する js

この記事では、画像のフェードインとフェードアウトを実現するためのjsの具体的なコードを参考までに紹介...

ハイパーリンクを開くターゲットのテスト

リンクのターゲット属性は、リンクが開く場所を決定します。その値は通常、_blank、_self、_p...

JavaScript setinterval 1秒遅延ソリューション

setinterval を使用すると、ページを開いた直後に 1 秒の遅延後に実行されることがわかりま...

Linux で XFS パーティション形式のルート ディレクトリを縮小する方法

目次序文システム環境現在のシステムパーティションレイアウトデータのバックアップレスキューモードに入る...

Web Storage APIの使用に関する簡単な説明

目次1. ブラウザのローカルストレージ技術1.1、セッションストレージ1.2、ローカルストレージ2....

Docker Alibaba Cloud RocketMQ 4.5.1 のデプロイプロセスの詳細な説明

検索ミラー docker 検索 rocketmq画像バージョンを表示他の画像を表示したい場合は、画像...

純粋な CSS を使用してドロップダウン メニューを作成するサンプル コード

導入:最近の面接の質問を見ると、ドロップダウン メニューを実装するために CSS を使用することが多...

フォームデータを取得するための Node.js メソッドの 3 つの例

序文Nodejs はサーバーサイド言語です。開発中、登録やログインなどでは、判断のためにフォームを通...

WeChatアプレット認証ログインを処理するエレガントな方法

序文WeChat ミニプログラム プロジェクトでユーザー情報を取得し、ユーザー ログインを実装する場...

Linux は suid vim.basic ファイルを使用して権限昇格を実現します。

カリで再現まず、必要なvim.basicファイルにsuid権限を設定します。 chmod u+s /...

MySQLインデックスとは何ですか?わからない場合は聞いてください

目次概要二分木からB+木へクラスター化インデックス非クラスター化インデックスジョイントインデックスと...

MySQLでANDとORを組み合わせる問題を解決する

以下のように表示されます。 SELECT prod_name,prod_price FROM pro...

nginxのリソースキャッシュ設定の詳細な説明

私はずっとキャッシュについて学びたいと思っていました。結局のところ、キャッシュはフロントエンドのパフ...

CSS background-blend-modeの仕組みを深く理解する

この記事は共有および集約することを歓迎します。全文を転載する必要はありません。著作権を尊重してくださ...

nginx+lua を使用した単一マシンでの何万もの同時接続の実装

nginx は弊社で最もよく使用されるサーバーで、コンテンツ配信やリバース プロキシによく使用されま...