#はじめに
こちらの記事を参考に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を理解してないと解消できないエラーとかじゃなくてよかったです。
別の機会にぜひ学びたいですね。