web-dev-qa-db-ja.com

Windows 10でのDocker-machineエラー「MACアドレスに一致するIPが見つかりませんでした」

Windows 10のdocker-machineで奇妙な問題が発生しました。それでも解決策が見つかりません。

以前は動作していましたが、Windows 10の更新後、「MACアドレスに一致するIPが見つかりませんでした...」というエラーが表示され始めました。このエラーは、docker-machineを使用したアクションで表示されます。

たとえば、docker-machine lsの場合: enter image description here

仮想ボックス(異なるネットワークドライバーを使用)を使用してdockertoolsを再インストールしようとしました。仮想ボックスの最新バージョンをインストールしようとしました。 Docker仮想マシンを削除して再作成します。すべてのvitrualboxホストオンリーネットワークを削除します。それはすべて助けにはなりません。

これがdocker-machine -D create -d virtualbox defaultで得られるものです:

enter image description here

docker-machine envデフォルト:

enter image description here

docker-machine regenerate-certs:

enter image description here

誰かが私を正しい方向に向けることができますか?このような問題の原因は何ですか?

ありがとう!


VonCによって提案された方法を試しました。

  1. Virtualboxを削除し、推奨される方法でドライバーとレジストリをクリーンアップします。
  2. PCを再起動します。
  3. 最新の仮想ボックスをインストールする(バージョン5.0.18 r106667)
  4. PCを再起動します。
  5. 推奨されるように環境を設定します。

これが結果です。

C:\Users\Vadim>Desktop\env.bat

C:\ Users\Vadim> remの最小パス:

C:\ Users\Vadim> set PATH = C:\ Windows\system32; C:\ Windows; C:\ Windows\System32\Wbem

C:\ Users\Vadim> remはGitをPATHに追加します

C:\ Users\Vadim> rem set glatest = PortableGit-2.8.1-64-bit

C:\ Users\Vadim> set PATH = C:\ Windows\system32; C:\ Windows; C:\ Windows\System32\Wbem; C:\ Program Files\Git\bin; C:\ Program Files\Git\usr\bin; C:\ Program Files\Git

C:\ Users\Vadim> set TERM = msys

C:\ Users\Vadim> set GIT_HOME = C:\ Program Files\Git

C:\ Users\Vadim> rem VirtualPathをPATHに追加

C:\ Users\Vadim> set PATH = C:\ Windows\system32; C:\ Windows; C:\ Windows\System32\Wbem; C:\ Program Files\Git\bin; C:\ Program Files\Git\usr\bin; C:\ Program Files\Git; C:\ Pr ogram Files\Oracle\VirtualBox

C:\ Users\Vadim> rem docker-machineをPATHに追加

C:\ Users\Vadim> set PATH = C:\ Windows\system32; C:\ Windows; C:\ Windows\System32\Wbem; C:\ Program Files\Git\bin; C:\ Program Files\Git\usr\bin; C:\ Program Files\Git; C:\ Pr ogram Files\Oracle\VirtualBox; C:\ Program Files\Docker Toolbox

C:\ Users\Vadim> set path Path = C:\ Windows\system32; C:\ Windows; C:\ Windows\System32\Wbem; C:\ Program Files\Gi t\bin; C:\ Program Files\Git\usr\bin; C:\ Program Files\Git; C:\ Program Files\Oracle\VirtualBox; C:\ Program Files\Docker Toolbox PATHEXT = .COM; .EXE; .BAT; .CMD; .VBS; .VBE ; .JS; .JSE; .WSF; .WSH; .MSC

C:\ Users\Vadim> docker-machine create -d virtualbox test事前作成チェックを実行しています...マシンを作成しています...(テスト)C:\ Users\Vadim.docker\machine\cache\boot2docker.isoをCにコピーします:\ Users\Vadim.docker\machine\machines\test\boot2docker.iso ...(テスト)VirtualBox VMの作成...(テスト)SSHキーの作成...(テスト)VMの起動...(テスト)ネットワークをチェックして、必要に応じて再作成します...(テスト)Windowsがネットワークアダプターを作成する許可を要求する場合があります。時々、そのような確認ウィンドウはタスクバーで最小化されます。 (テスト)新しいホストオンリーアダプターが見つかりました:「VirtualBoxホストオンリーイーサネットアダプター#2」

(テスト)Windowsは、ネットワークアダプターを構成するためのアクセス許可を要求する場合があります。時々、そのような確認ウィンドウはタスクバーで最小化されます。 (テスト)Windowsは、dhcpサーバーを構成する許可を求める場合があります。時々、そのような確認ウィンドウはタスクバーで最小化されます。 (テスト)IPを待機しています...マシンの実行を待機しています。これには数分かかる場合があります...作成されたインスタンスのオペレーティングシステムを検出しています... SSHが使用可能になるのを待機しています...プロビジョニング担当者を検出しています... boot2dockerを使用したプロビジョニング...ローカルマシンディレクトリへの証明書のコピー...リモートマシンへの証明書のコピー...マシンの作成エラー:プロビジョニングの実行エラー:一致するIP fまたはMACアドレス080027d6b14dが見つかりませんでした

IPとMAC​​に関するこのエラーは引き続き表示されます。


さらなる調査。 VonCによって提案されたように、私はdocker-machine 0.6.0でこれを再試行しました。そして、他のエラーが発生しました: enter image description here

明らかに仮想マシンでeth1インターフェースを操作しようとしているので、何が起こっているかを確認しました(この間、仮想ボックスインターフェースで作成され、動作するVMを見ることができました)。これがゲストVMに表示されるものです: enter image description here

ご覧のとおり、eth1インターフェイスにはip4アドレスが指定されていません。それが問題の原因であり、それを修正する方法はありますか?

21
Vadim

Virtualboxを開き、docker vmを削除します。クイックスタートを再開します。 Windowsでも同じ問題があります。

8
evtuhovdo

同じ問題がありました。私はそれを解決しました:

1)VirtualBox Manager GUIを使用して、「VirtualBox Host-Only Ethernet Adapter」を削除します。 (設定->ネットワーク->ホストオンリーネットワーク)実際には、これらのうち2つがありました。両方削除しました。

2)デフォルトのVMを削除(再び、VirtualBox Manager guiを使用)

3)start.shスクリプトを再実行します

詳細な注意:Windows 7とcygwin64を使用しています。 start.shスクリプトには、vboxmanageへのパスの検索に関する問題があります。これらのエラーを解決する間、私はstart.shスクリプトを複数回実行しました。これはおそらく、VBoxが見つかった奇妙な状態を説明しています。

5
Aaron Knauf

そのエラーメッセージは、「 ホストオンリーインターフェイスを動的に決定し、eth1 および PR 3112 修正 issue 3108

私はしようとします:

  • virtualBoxを完全にアンインストールし、
  • C:\Windows\system32\drivers\のvbox *ファイルを削除します。
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servicesのvbox *フォルダーを削除します
  • 再インストール virtualbox 5.0.18 およびそのOracle VM VirtualBox Extension Pack
  • cMDのみを使用します(副作用を避けるためにbashは使用しません)

以下を含むsenv.batスクリプトによってPATHを設定します(セットアップへのパスを変更します)。

rem minimal path:
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem

rem add Git to PATH
set glatest=PortableGit-2.8.1-64-bit
set PATH=%PATH%;C:\Personal_Unsaved\prgs\git\%glatest%\bin;C:\Personal_Unsaved\prgs\git\%glatest%\usr\bin;C:\Personal_Unsaved\prgs\git\%glatest%
set TERM=msys
set GIT_HOME=C:\Personal_Unsaved\prgs\git\%glatest%

rem add VirtualBox to PATH
set "PATH=%PATH%;C:\Personal_Unsaved\prgs\vbox\latest"

rem add docker-machine to PATH
set PATH=%PATH%;C:\Personal_Unsaved\prgs\dm\latest

最新のdocker-machine 0.7. を使用して、その新しい環境で、新しいマシンを作成します。

docker-machine create -d virtualbox test
docker-mahcine ssh test

(git bashのsshではなく、docker-machineのsshを使用してください)

ケビンフック 以下の言及 コメント内 (2016年7月):

最新のツールボックスをダウンロードしてインストールした後、Windows 7の1.11.2で同じエラーが発生しました。エラーは、Toolboxの更新後にのみ開始されました。

VirtualBoxのデフォルトVMを削除した後でも、再作成時に同じエラーが発生します。

上記の回答のGitHubで言及されているチケットでVirtualBox 5.0.14に言及していることに気づいたので、5.0.24に更新しました。クイックスタートプロンプトを起動し、デフォルトのvmを再作成しましたが、問題はありません

4
VonC

これはWindows上で私のために働いた:

私はこのコマンドを実行しました-

docker-machine rm default

次に、docker-machineターミナルを再起動し、IPを自動的に割り当てました。

3
ryudidoo

再起動時に(前回の実行とは)別のIPが割り当てられている場合、docker-machineはVMとの接続の問題を示します。
私のために働いた1つのアプローチは、再起動時に同じIPを取得できるように再起動することです。
例えば。 192.168.99.102(seq 100、101、102の3番目)が作成時に割り当てられた場合、このdockerマシンの前に他の2つのVMを起動して、この1つが102になるようにします。

私はコマンドを維持しています。これは、参考のために最初の日にdockerを実行するのに便利でした。
Docker-machine、docker、およびdocker-composeのスターター用の便利なコマンド

2
Sunil G.

私の答えは将来の読者に役立つ可能性があります。最近この問題に直面したとき、最初にこの質問を見つけたからです。

上記のすべての解決策は私のために機能しませんでした、私は削除しました仮想マシンからデフォルトのマシンとそれを再作成しました

docker-machine rm default
docker-machine create --driver virtualbox default

次に、ネットワークアダプタを削除しました 上記 byAaron Knauf

最後に、dockerおよびVirtualBoxをアンインストールし、構成ファイルを削除しました。dockerおよび。VirtualBoxユーザーのフォルダー内。

次に、Docker ToolboxとVirtualBoxを再インストールした後、Dockerはうまく機能しました

再インストールが良い方法ではない場合でも、それは私の問題を解決しました。

2
Dosto

ある日目が覚めると、Dockerは「MACアドレスに一致するIPが見つかりませんでした...」と述べていませんでした。

私を助けたのは次のことでした:

  • docker Toolboxをアンインストールします
  • virtualBoxをアンインストールします
  • フォルダーC:\ Users\user_name\.dockerを削除します
  • フォルダーC:\ Users\user_name\.VirtualBoxを削除します
  • docker Toolboxを再度インストールします
2
michal2616

上記で行った数人と同じですが、いくつかの変更があります

  1. VirtualBox Manager GUIを使用して「VirtualBox Host-Only Ethernet Adapter」を削除します。 (設定->ネットワーク->ホストオンリーネットワーク)実際には、これらのうち2つがありました。両方削除しました。
  2. デフォルトのVMを削除(再び、VirtualBox Manager GUIを使用)
  3. 管理モードで「Docker QuickStart Terminal」を起動します
  4. ターミナルの起動時に、VirtualBox Manager GUIで新しい「VirtualBoxホストオンリーイーサネットアダプター」を作成し、以前のDockerマシンとして静的IPアドレスを提供し、DHCPを有効にします。

これは私のために一度働いた。それが何度も何度も動作することを願っています:)

1
Sownak Roy

私はこの問題を経験しました。私が言うことができます-削除して再インストールしても何もしません。私の手順は次のとおりです。

  1. Github(現在v18.09.3)から最新のdocker-toolboxをダウンロードしてインストールします
  2. 最新の仮想ボックス(現在6.0.4-128413)をダウンロードしてインストールします
  3. ショートカットでdocker-toolboxを起動します
  4. 「MACアドレスに一致するIPが見つかりませんでした...」というエラーが表示されます(マシンは正常に起動し、Virtualbox GUIからログインできますが、正常に動作します。ただし、Windowsはネットワーク設定のため表示されません)
  5. 仮想マシンを停止しないでください
  6. このコンテンツでdmvbf.batファイルを作成します
 
 @echo off 
 setlocal enabledelayedexpansion 
 set machine =%1 
 if "%machine%" == ""(
 echo dmvbfはマシン名を想定しています
 exit/b 1 
)
 set ipx =%2 
 if "%ipx%" == ""(
 echo dmvbf x missing ^(for 192.168.xy ^)
 exit/b 2 
)
 set ipy =%3 
 if "%ipy% "==" "(
 echo dmvbf y missing ^(for 192.168.xy ^)
 exit/b 3 
)
 
 echo kill $(more /var/run/udhcpc.eth1.pid)| docker-machine ssh%machine%Sudo tee /var/lib/boot2docker/bootsync.sh> NUL 
 echo ifconfig eth1 192.168。%ipx%。%ipy%netmask 255.255.255.0 broadcast 192.168。%ipx%.255アップ| docker-machine ssh%machine%Sudo tee -a /var/lib/boot2docker/bootsync.sh> NUL 
 echo route add default gw 1​​92.168.99.22 | docker-machine ssh%machine%Sudo tee -a /var/lib/boot2docker/bootsync.sh> NUL 
 
 
 docker-machine ssh%machine% "Sudo cat/var /run/udhcpc.eth1.pid | xargs Sudo kill "
 
 docker-machine ssh%machine%" Sudo ifconfig eth1 192.168。%ipx%。%ipy%netmask 255.255.255.0 broadcast 192.168。 %ipx%.255 up "
 

(おかげで VonC answer

  1. windows CMDで_dmvbf.bat default 99 101_を実行します。 sshを介してマシン内のIPアドレスを変更します
  2. _docker-machine restart default_
  3. _docker-machine regenerate-certs default_。 IPアドレスを変更したため、以前に生成された証明書は無効になりました。
  4. eval $(docker-machine env default) Windows CMDで。この手順を実行しないと、さまざまなエラーが発生しました(終了ステータス255など)
  5. 再びdocker-toolboxを起動します。今回は、IP 192.168.99.101でdockerを起動します。
  6. _docker run hello-world_を実行してお楽しみください。

同様の問題がありました。タスクマネージャーでVMプロセスを強制終了し、Dockerクイックスタートターミナルを再起動することで、単純に機能させました。

これがいつか誰かを助けることを願っています。

0
ziMtyth