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)

推薦する

MySQL 分離レベル操作プロセスの詳細説明 (cmd)

コミットされていない読み取りの例の操作プロセス - コミットされていない読み取り1. 2 つの My...

overflow:autoの使い方の詳しい説明

本文に入る前に、オーバーフローとフレックスレイアウトの使い方をいくつか紹介します。 overflow...

CentOS 起動時にカーネルモジュール overlayfs 操作を自動的にロードする

CentOS でカーネル モジュールを自動的にロードするには、/etc/sysconfig/modu...

企業サイトとコラム辞典 中国語と英語の比較 中国語と英語のバイリンガル企業サイトを作る仲間は

名前キャラクター名前キャラクター情報ニューステクノロジー技術スキンケアスキンケア補う補う香水香水化粧...

シンプルな計算機を実装するためのネイティブ js

この記事の例では、参考までに簡単な計算機を実装するためのjsの具体的なコードを共有しています。具体的...

CentOS 8 に MySql をインストールしてリモート接続を許可する方法

ダウンロードしてインストールします。まず、システムに MySQL または MariaDB があるかど...

MySQLのレプリケーションとチューニングの原則と方法を分析する

1. はじめにMySQL にはレプリケーション ソリューションが付属しており、次のような利点がありま...

MySQL で group by を使用すると常にエラー 1055 が発生します (推奨)

MySQL で group by を使用すると常にエラー 1055 が発生するため、原因を確認する...

Alibaba Cloud Centos7.3 インストール mysql5.7.18 rpm インストール チュートリアル

MariaDBをアンインストールするCentOS7 ではデフォルトで MySQL の代わりに Mar...

MySQL をベースにしたシンプルな検索エンジンを実装する

目次MySQL ベースの検索エンジンの実装1. ngram全文パーサー2. 全文インデックスを作成す...

一般的な JavaScript メモリ エラーと解決策

目次1. タイマー監視2. イベント監視3.オブザーバー4. ウィンドウオブジェクト5. DOM参照...

Vue で v-for を更新する方法

ヒント:配列変更メソッドによりv-forが更新され、ページが更新されます。配列を変更しないメソッド:...

SQL 結合クエリの内部結合、外部結合、クロス結合の違いの詳細な説明

データベースを使用するアプリケーションを開発する場合、必然的にユニオンクエリを使用する必要があります...

Ubuntu環境でxdebugをコンパイルしてインストールする方法

この記事では、Ubuntu 環境で xdebug をコンパイルしてインストールする方法について説明し...