dockerでネットワークエラー
Dockerが爆発的に流行ってからだいぶ経ちますが、
それでもエラーというエラーで悩まされる方が多いかと思います。
本記事がちょっとした助けになればと思います。
※docker-toolbox @ virtualboxの環境で発生したエラーのため、
各自こころの目、もしくは超補正でご覧になってください。
- "An error occurred trying to connect:"エラー
- "command not found"系のエラー
- VirtualBoxでマシンの作成が無限ループする
- VirtualBoxでマシンの作成が無限ループする(設定編)
- まとめ
"An error occurred trying to connect:"エラー
事象
An error occurred trying to connect: Get http://%2F 〜 The system cannot find the file specified
というエラーが出る下記コマンドは問題なく動作する(※クライアント側は動作する)
- docker-machine info
- docker -v
- docker-compose
docker本体(サーバー側)へ繋げようとするとエラーが発生する ⇛ docker info 等のコマンドでエラー
- Error checking TLS connection: Could not find matching IP 〜 が表示される
docker-machine ssh
とかはつながる- ホストオンリーうんたらのネットワークでエラーが起きる
原因
Dockerマシン(virutal Box経由またはその他)が作成されているが、
環境変数が正しく設定出来ていないため、繋がらない。
解決策
- 環境変数を通してあげる
$ eval` "$(docker-machine env default)"
上記で動かなかった場合は、
実行する前に下記コマンドでマシンを削除し、再度作成しちゃいましょう。
$ docker-machine rm default $ docker-machine create default --driver virtualbox
"command not found"系のエラー
事象
dockerコマンドが呼び出せない、
または呼び出すとエラーが発生する
原因
dockerインストール時のパスの設定が正しく出来ていない場合に発生し、
各コマンドが正しく呼び出されない場合に出力されるエラーです。
解決策
やり方としてはwindows特有の環境変数に呼び出されているcommandのパスを通すだけ。
注意としてユーザー環境変数に入れること。下の記事にもおなじ事をかいています。
acchi-muite-hoi.hatenablog.com
http://acchi-muite-hoi.hatenablog.com/entry/2016/05/16/011046
同じ様な記事を書いていた事に反省。
Windowsは上の記事を参照してください。
Macユーザーの方はDockerのルートフォルダにあるbinにパスを通せば問題無いかと思います。
VirtualBoxでマシンの作成が無限ループする
事象
- ① VirtualBoxでマシンを作る際に永遠と終わらない
- IPが正しく振られず、マシンの作成が永遠に終わらない
- ② マシン作成後、コマンドが正しく実行されていかない
原因
① に関しては、dockerというよりかはVirtualBoxの問題のほうが大きい。
マシンを作る際にIPが正しく設定出来ない。
PCのネットワークアダプタとvirtualBoxに関係あり
② は本記事の最初のエラーと同様、環境変数を通せば解決
解決策
それでも使いたい場合はVirtualBoxのバージョンに気をつける。
windows10でDocker Toolboxのエラーとインストール【ざっくり手順あり】 - This is a Pen
- ② 下記コマンドを実行
$ eval` "$(docker-machine env default)"
ダメだった場合は実行前に書きコマンドを追加
$ docker-machine rm default $ docker-machine create default --driver virtualbox
docker tool-boxならdocker quickstart terminal にて下記コマンドを入力してください
$ docker-machine env default --shell cmd # ここでいうdefaultはvirtualbox上で作られたマシン名です # これで環境変数が表示されます
VirtualBoxでマシンの作成が無限ループする(設定編)
事象
- ① VirtualBoxでマシンを作る際に永遠と終わらない
- IPが正しく振られず、マシンの作成が永遠に終わらない
- ② ネットワークアダプター(ホストオンリー)の作成に失敗
原因と解決策
VirtualBox仕事しろ。
windowsというかvirtualBoxのもつエラーのようなもので
virtualboxのアダプター設定をいじる必要がある。
VBoxの環境設定 ⇒ ネットワーク⇒ホストオンリー欄の中のアダプターをひとつだけ残す(複数ある)
- 上記のアダプタが大量にあるために衝突が発生している?
↑↑毎回マシンを作成しているために大量発生?
⇒ niiz様のqiita記事を参考
解決策その2
windows10には hyper-V という仮想化機能が標準で入っていますが
virtualbox経由で動かすdocker tool-boxで競合しうまく動作しない時があります。
その場合はコマンドプロンプトを開き下記コマンドを入力
bcdedit /set hypervisorlaunchtype off # PC再起動 # 反対の場合は hypervisorlaunchtype auto
もしくわ
「コントロールパネル」➡「windowsの機能」➡「Hyper-V」
を直接無効化するやり方もありますが、これにより
エミュレータ系のソフトが動かない可能性がありますので注意が必要です。
更新(2016/06/23)
acchi-muite-hoi.hatenablog.com
ネットワークというか、virtualBoxのネットワーク関連。
もしかしたら役に立つかもしれない・・・
まとめ
エラー大杉わロタ。辛いわ
お探しのエラーでないかもしれませんが、引き続きエラー解析がメインとなる記事を書いていきます。
エラーにより時間が過ぎていくのは現場でもプライベートでももやもやします。
幸い、人気があるがためにググればたくさん情報があるのが救いですね。
マツケンの事を嫌いになっても・・dockerの事は嫌いにならないでくださいっ・・!!