EurekaMoments

ロボットや自動車の自律移動に関する知識や技術、プログラミング、ソフトウェア開発について勉強したことをメモするブログ

躓きながらWindows 10にDockerをインストールした苦労話

目次

背景・目的

これまでにこちらの記事で書いたように、
LinuxとDockerの基本について勉強しまし
た。

www.eureka-moments-blog.com

www.eureka-moments-blog.com

これらを参考に、今度は自分で自宅のWindows
PCにDockerを入れてLinux環境を構築してやろう
意気込んだのですが、Dockerをインストールする
だけで何故かつまらない問題にハマり続けたので、
その記録を残しておこうと思います。

試した環境

Windows 10 Home 64bit

手順のメモ

1. Docker for Windowsのインストールを試みて躓く

まずはこちらからDocker for Windowsの
インストーラをダウンロードします。

docs.docker.com

ここからダウンロードページに移動
できますが、この時にDockerアカウント
でのログインを求められます。
f:id:sy4310:20200205001134p:plain

初めての場合はまずはアカウント作成により、
IDとパスワードを設定してください。そして
ログインするとこちらのページに移動します。
ここでDownload Docker Desktop for Windows
のボタンを押せば、インストーラがダウンロード
されます。
f:id:sy4310:20200205001605p:plain

ワクワクしながらインストーラを起動したところ、
こちらのようになり早速躓いてしまいました。。
f:id:sy4310:20200205224841p:plain

このメッセージにあるように、インストール
するにはWindows 10 ProかEnterprise
である必要があったのですが、自分のPCの
OSはWindows 10 Homeであることを
すっかり忘れていました。

2. Windows 10 HomeでDockerを導入する方法を調べる

別の方法を調べたところ、こちらのような
やり方を見つけました。

www.suzu6.net

qiita.com

選択肢は2つで、WSL(Windows Subsystem
for Linux)のLinuxにDockerを入れる場合と、
VirtualBoxを利用したDocker Toolboxを
入れる場合があります。自分としては、
VirtualBoxでの起動の遅さを解消したかった
ので、前者のWSLを利用するやり方を試す
事にしました。

3. WSLをインストールする

WSLは、Windows内でLinuxを実行する事が出来る
仕組みです。最近では、これが更に強化された
WSL2がPreview版でリリースされ、5月頃には正式
リリースされるとのこと。

tech-lab.sios.jp

インストールはこちらで紹介されている手順に
従って行います。

tech-lab.sios.jp

qiita.com

無事にインストール出来て、自分のWindows10の
バージョンとビルドはこちらのようになりました。
f:id:sy4310:20200209204043p:plain

4. 日本語入力が出来なくなるバグに遭遇

早速WSLにDockerを入れようとしたところ、
デスクトップが何か変な事に気が付きました。
言語バーが消えていて、これらの設定を何度
見直してもまったく復旧しなくなりました。。

freesoft.tvbok.com

aprico-media.com

しかも、インストール直後は起動出来たWSL2が
2回目以降はまったく起動しなくなってしまう
始末。
もうどうしようも無くなってしまったので、
泣く泣くWindows 10を再インストールして
なんとか復旧。もう二度とWSLには手を
出さないと心に誓いました。

5. Windows 10 Proへのアップグレード

お金がかかるから、と最初はケチってしましたが、
やはり正常に動く確率が一番高そうなDocker for
Windowsにしようと考え、Windows 10をHome
からProにアップグレードする事にしました。
アップグレードはこちらの手順に従うことで
正常に完了しました。

office-hack.com

6. Docker for Windowsをインストール

相当な回り道をして、前述した1の手順で
再度インストール。今度はちゃんと正常に
完了出来ました。長かった。。

f:id:sy4310:20200210233501p:plain

7. 動作確認

今度はこちらの記事を参考にDockerの動作確認
を行っていきます。

qiita.com

まずはバージョンの確認です。
PowerShellを開いて、こちらのコマンドを
実行します。

f:id:sy4310:20200210234134p:plain

するとこちらのような出力が出てきます。
ちゃんと想定通りに動作しました。
f:id:sy4310:20200210234255p:plain

次はこちらのコマンドを実行して、
お試し用のコンテナを起動させます。
f:id:sy4310:20200211214707p:plain

こちらのような出力が出て、正常に動作
する事を確認できました。
f:id:sy4310:20200211214848p:plain

今度はDocker Composeのバージョンを
確認します。このコマンドを実行します。
f:id:sy4310:20200211222951p:plain

このように表示され、正常に確認出来ました。
f:id:sy4310:20200211223211p:plain

8. イメージとコンテナの状況を確認

まずこちらのコマンドを実行すると、
作成されているイメージの一覧と、
それぞれの状況を確認する事ができます。
f:id:sy4310:20200211223947p:plain

先程作成されたhello-worldのイメージの
状況がこのように表示されます。
f:id:sy4310:20200211224512p:plain

次はこちらのコマンドで、コンテナの
状況を確認します。
f:id:sy4310:20200211225845p:plain

hello-worldのイメージから起動した
コンテナの状況がこのように表示
されます。既に終了させているので、
StatusはExitedとなっています。
f:id:sy4310:20200211230245p:plain

次の予定

想定よりも大幅に時間がかかり、
やっとこさインストールが完了
しました。
次こそはLinux環境の構築という
本来の目的に向かっていきたい
と思います。