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)

推薦する

Dockerイメージ内のnoneイメージ操作を削除する

普段はdocker buildコマンドでイメージを生成していますが、コードの更新が頻繁に行われるとn...

HTML テーブル セルの幅と高さを設定する方法

Web ページを作成するときに、テーブルの幅が揃っていないという問題に遭遇することがよくあります。 ...

MySQLの使用中に発生した問題

ここでは、MySQL の使用中に発生するいくつかの問題とその解決策を示します。 sql_mode=o...

サーバーから返される14の一般的なHTTPステータスコードの詳細な説明

HTTP ステータス コードステータス コードは 3 桁の数字と理由フレーズ (最も一般的なもの: ...

MySQL 学習: 初心者のための 3 つのパラダイム

目次1. パラダイム基盤1.1 パラダイムの概念2. 3つの主要なパラダイム2.1 3つの主要なパラ...

Vue プロジェクトに ECharts を導入する

目次1. インストール2. はじめに3. 使用4. 必要に応じてEChartsチャートとコンポーネン...

HTML フレームセットのサンプルコード

この記事では、Frameset が作成した、できるだけシンプルなフレームワークを紹介します。さて、ま...

CentOS7 システムでスワップを増やす方法の例

序文スワップは、ディスク上にある「仮想メモリ」の一部である特殊なファイル (またはパーティション) ...

Centos7 システムに k8s クラスターを展開するための詳細な紹介

目次1 バージョンと計画1.1 バージョン情報: 1.2 クラスター計画2. 展開1. ファイアウォ...

IE6のバグと修正は予防戦略です

元記事:究極の IE6 チートシート: 25 以上の Internet Explorer 6 のバグ...

CentOS 8で自動更新を設定するための手順を完了する

データとコンピューターに対してできる最善のことは、それらを安全に保つことです。アップデートを有効にす...

Linux sar コマンドの使用方法とコード例の分析

1. CPU使用率sar -p (一日中表示) sar -u 1 10 (1: 1秒ごと、10: 1...

Vueナンバープレート検索コンポーネントの使い方の詳しい説明

参考までに、シンプルなナンバープレート入力コンポーネント(vue)です。具体的な内容は次のとおりです...

React でカレンダー コンポーネントを構築するためのステップ バイ ステップ ガイド

目次事業背景テクノロジーの活用技術的な問題デザインのアイデア😱 困惑と苦痛に満ちた顔🙄考え始める🌲デ...