Dockerでの接続例外中のエラーを解決する

Dockerでの接続例外中のエラーを解決する

Docker を初めて使い始めると、通常とは異なる問題に遭遇して、必然的に混乱してしまいます。大丈夫です。それが学習の仕組みです。困難に直面しても常に問題を解決する方法を見つけ、粘り強く続けることが鍵です。

さあ、問題が発生します。慌てないで、下を見てください。

正常にDockerを開いてコマンドを実行しましたが、接続例外中にエラーが報告されました。

対応する例外エラーの説明は次のとおりです。

ターゲット マシンが積極的に拒否したため、接続できませんでした。これで、問題がどこにあるかがわかりました。Docker イメージは VirtualBox (Win10 Home Edition) 上で実行されるため、ここでのターゲット マシンは VirtualBox であり、接続に問題があります。

2つの解決策:

VirtualBox を開き、デフォルトのサービスを再起動します。

そしてそれは機能します。

VirtualBoxを開く必要はありません。コマンドを実行してデフォルトを再起動することもできます。

docker でコマンドを実行します:

docker-machine の再起動デフォルト

結果:

入口・出口実行コマンドをスムーズに実行できます。問題は解決しました。難しくはありません。次に遭遇したときには覚えておきます。

追加知識: WindowsにDockerをインストールした後、Dockerコンテナで起動したプログラムは外部のip:portメソッドではアクセスできません

最近、コンテナを使用して開発プロジェクトを開始しています。しかし、同じイメージを使用して Linux システムのコンテナで起動した後、Linux IP:ポート (マップされたポート) とコンテナ IP:ポートを介してアクセスできるが、Windows ではアクセスできないことがわかりました。

解決策は2つある

Windowsホスト上で直接アクセス

LinuxIP:ポートを使用してアクセスできます

Windows に Docker をインストールすると、実際には Linux 仮想マシンが起動し、Linux で Docker が実行されるため、ウィンドウの IP: ポート方式を使用して直接アクセスすることはできません。ここでは、仮想マシンの IP: マッピングされたポート方式を使用してアクセスする必要があります。

Windows Docker 起動マシンの IP アドレスを照会するコマンド:

docker-machine ip デフォルト

通常は192.168.99.100

現時点では、192.168.99.100:portを使用して正常にアクセスできます。

Windowsに接続された他のマシンにアクセスする必要がある

Windows に接続された他のマシンからアクセスする必要がある場合は、windowsIP:port メソッドを使用し、仮想マシンを構成する必要があります。

VM VirtualBox を開き、1. デフォルトを選択し、設定を右クリック -> 2. 左側のメニューで「ネットワーク」を選択 -> 3. ネットワーク カード 1 の「詳細」をクリックして展開 -> 4. ポート転送をクリックしてポート転送構成インターフェイスを開きます

ポート転送ルール インターフェイスで設定し、右側の「+」ボタンをクリックしてポート転送ルールを追加し、名前、ホスト ポート、サブシステム ポートを入力して、下の [OK] をクリックして保存します。

保存後、windowsIP: ホスト ポートを使用してアクセスできます。 (ホスト ポートは Windows システム ポートに対応し、サブシステム ポートは Linux 仮想マシンのポート、つまりコンテナーにマップされたポートです。たとえば、Docker でコンテナーを起動する場合は、コンテナーのポート 8181 を 8186 にマップします。つまり、-p 8186:8181 で、ここでサブシステム ポートとして 8186 を入力します)

Docker の接続例外中に発生するエラーを解決する方法に関する上記の記事は、エディターが皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker に Kong ゲートウェイをインストールする方法の例
  • Docker イメージのプルとタグ操作 pull | tag
  • DockerイントラネットはDNSを構築し、ip:port操作の代わりにドメイン名アクセスを使用します
  • Dockerコンテナのタイムゾーン調整操作
  • イメージの起動時にdocker runまたはdocker restartが自動的に終了する問題を解決します
  • イメージのアップロードとダウンロードに docker をプロキシするためのプライベート ライブラリとして nexus を使用する
  • docker を使用して Kong クラスター操作を構築する

<<:  JavaScript インスタンス オブジェクトでプロトタイプ メソッドをオーバーライドする方法の詳細

>>:  MySQL の日付と時刻関数の概要 (MySQL 5.X)

推薦する

CentOS の Nginx 公式 Yum ソースの設定を詳しく解説

私はプロジェクトの展開にAlibaba Cloudから購入したCentOSを使用しています。最近、プ...

Linux で docker-compose を使用したソフトウェア構成の詳細な説明

序文この記事では、docker-compose の構成をいくつか紹介します。これらを参考にして、独自...

Zabbix で複数の JVM プロセスを監視する方法

1. シナリオの説明:私たちの環境ではマイクロサービスを使用しています。各プログラムには個別のプロセ...

時系列転位修復ケースを実装するSQL

目次1. 要件の説明2. アイデアの概要1. 延長を要求する2. アイデアの概要3. SQLコード1...

Vue2.x と Vue3.x のルーティングフックの違いの詳細な説明

目次vue2.xプレコンセプト:ルーティングフックのカテゴリルーティングとコンポーネントの概念(フッ...

mysql 起動時の ERROR 2003 (HY000) の問題を解決する方法

1. 問題の説明MYSQL を起動すると、図に示すように、「ERROR 2003 (HY000): ...

backgroundImage を使用して画像カルーセルの切り替えを解決する詳細な説明

単一のDOMノードでカルーセルを実装するbackgroundImage を使用すると、複数の画像を追...

Nginx アップロードファイルのサイズを変更する簡単な方法

オリジナルリンク: https://vien.tech/article/138序文私は、マークダウン...

Vueはボールのスライディングクロス効果を実現します

この記事の例では、ボールのスライドとクロスの効果を実現するためのVueの具体的なコードを共有していま...

あまり使われていない、または誤解されている HTML タグ 10 個

ここでは、あまり使われていない、または誤解されている 10 個の HTML タグを紹介します。あまり...

Apple Watchのインタラクションデザインにおける4つの全く異なる体験が明らかに

今日も Watch アプリのデザインに関する話です。私はケーススタディが大好きなので、同じトピックを...

Vueリストデータを削除した後、ページを自動的に更新する方法と更新方法の詳細な説明

問題の説明:フロントエンドがデータの一部を削除したり、新しいデータを追加したりすると、バックエンドの...

MySQL の基本ステートメントを最適化するための 10 の原則の概要

序文データベースの応用において、プログラマーは継続的な実践を通じて多くの経験を積んできました。これら...

インデックスとテーブルリターンをカバーするMySQLの使い方

インデックスの2つの主要なカテゴリ使用されるストレージエンジン: MySQL 5.7 InnoDBク...

ボタンの 4 つのクリック応答方法の概要

ボタンは頻繁に使用されます。ここでは、イベント処理メソッドを整理し、実装方法が多数あることを発見しま...