LoginSignup
0
0

More than 3 years have passed since last update.

Windows 10 HomeにDocher Toolboxを入れようとして沼にはまった...

Last updated at Posted at 2020-08-10

はじめに

こちらの記事を参考にDocker Toolboxをインストールしていました。
著者様、わかりやすい記事をありがとうございますm(_ _)m
記事を見た感じ大変な作業はないように思えましたが、記事にはないエラーが発生しました...

Checking Status on defaultでエラー

Dockerの公式サイトからインストーラーを入手。

その後、Docker Quickstart Terminalを起動すると、Checking Status on defaultでエラーが出ました。
このエラーを解消するのは簡単で、WindowsのVirtual Machine Platformを無効化すればいいです。

コントロールパネル->プログラム->Windowsの機能の有効化または無効化からのVirtual Machine Platformを無効化すると、Docker Toolbox実行環境が整った!
とはならず、今度はSetting envでエラーがでました...

Setting envでエラー

結論としてはSETXをbashで実行できなかったせいでした
エラーの原因がわからずDocker Quickstart Terminalを実行したときに動いているコードを見ることにしました(Docker Toolboxのインストール先に指定したファイルの中のstart.sh 79行目から)

STEP="Setting env"
eval "$("${DOCKER_MACHINE}" env --shell=bash --no-proxy "${VM}" | sed -e "s/export/SETX/g" | sed -e "s/=/ /g")" &> /dev/null #for persistent Environment Variables, available in next sessions
eval "$("${DOCKER_MACHINE}" env --shell=bash --no-proxy "${VM}")" #for transient Environment Variables, available in current session

自分はShell Scriptの知識が全くなかったので、書かれてある単語をちまちま調べることになりました。
いろいろ試した結果、STEXをbashで実行できていないことが判明!
代わりにsetを使って環境変数を指定すればいいのではと思い書き換えてみる。

eval "$("${DOCKER_MACHINE}" env --shell=bash --no-proxy "${VM}" | sed -e "s/export/SETX/g" | sed -e "s/=/ /g")" &> /dev/null
↓
eval "$("${DOCKER_MACHINE}" env --shell=bash --no-proxy "${VM}" | sed -e "s/export/set/g")" &> /dev/null 

そして、Docker Quickstart Terminalを起動すると...

クジラちゃん出てきてくれました^^
hello worldも正しく動いてくれましたので、Docker Toolboxの実行環境を無事構築することができました。

おわりに

Dockerってほとんどgolangで作られてるそうですね。
golangを理解してないと解消できないエラーとかじゃなくてよかったです。
別の機会にぜひ学びたいですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0