Nodachisoft Nodachi Sword Icon
  
@あまじ✎ 2020年8月7日に更新

Windows10 Home + WSL2 環境で Docker (Docker Desktop)を使う手順

Windows10 Home + WSL2 環境に Docker Desktop をインストールして、Docker のチュートリアルをすすめて、コンテナ動作+サンプルのアプリを表示するまでの手順を記録してます。

※2020年3月くらいまで、Windows10 Professional で利用可能な Hyper-V 機能を使って Docker を動かすことが出来ましたが、Windows10 Home では Hyper-V が使えなかったので不便でした。

Docker を使って開発をすると、本番リリースがしやすい!とか以外にも、 環境構築がしやすい、テストをしやすいなんかのメリットがあります。

それに、複数人での開発とか、個人でも複数の環境を用意したりとかが簡単になり、トラブル対応も環境固有のものが減らせるメリットもありますし。

Windows10 Home以外

Windows10 Pro や Education はちょっと手順が違いますのでご注意を。 このページでは Windows10 Home についての記載です。

自分の環境の確認

まずは Docker を導入できる状態かを確認しましょー。

Windows のバージョンとエディション確認

Docker Desktop を入れる前に、まず WSL2 をつかえるようにします。 下でまとめてますので、まだの人はコチラからお願いします。

無事に WSL2 の導入が完了したら、Docker Hub という所からインストーラをダウンロードします。

公式 Docker HUB - Docker Desktop ダウンロード

docker-desktop-for-win-dl.png

2020年8月6日時点で、Stable(安定動作バージョン バージョン2.3.0.4)で問題なく動作しました。Stable は四半期毎にリリースされます。

ちょっと前だと Edge 版(テスト向け最新版)でないと動かなかったみたいです。Edge は毎月リリースされているようです。

chocolatey からのインストール

当ページでは手動でのイストールとChocolatey でのインストールについて記載します。

Windows からコマンドラインで使えるソフトウェア管理ツールの Chocolatey を使ってる方でしたら、パッケージが用意されているので一瞬でインストールは終わります。 Chocolatey 本体のインストールは以下をご参照ください。

Chocolatey でパッケージ一覧を表示するとこんな感じ。↓

chocolatey-docker-desktop

管理者権限で下のコマンドを入力するだけでインストールできます。

 
コマンドプロンプト
> cinst docker-desktop

便利です。

Scoop で Docker Desktop

Scoop も Chocolatey みたいに開発関連アプリのインストールや更新、依存関係を管理できるアプリ管理ツールです。Scoop で公式バケット(リポジトリみたいなやつ)を覗いてみましたが、 Docker Desktop については見つからず。Scoop のコミュニティでは extras bucket に追加しようとしているようですが、結局公式bucketに追加されたのかわからず。どうも docker-for-windows はあるみたいだけどこれを入れればよいのかも。

手動インストール

ダウンロードしてきたインストーラを実行します。

WSL2 が正常に動作していれば最初の画面で WSL2 にチェックが入っているかと思います。

インストールが完了したら、デスクトップにできたショートカットか、スタートDocker Desktop でアプリを起動できます。

ここで、Docker Desktop が起動しない場合は、当ページの下の方に項目 Docker Desktop が起動しないとき で私が実施した対応を記録していますので、もし参考になれば。

チュートリアルの開始

初回はチュートリアルが表示されるので、まずはチュートリアルを実施して、Docker Image の作成とコンテナをつかって Image を動かすところまで進めたいと思います。

チュートリアル画面は後からでも呼び出せますので、中断しても大丈夫です。

「Start」で早速チュートリアル開始!

docker-desktop-for-win-setup2.png

チートリアルで "Getting-Started" プロジェクトを git コマンドを使ってダウンロードしてきて docker イメージを作成してコンテナで動かす!という流れです。

そのため、ここからは git のインストールが必要です。

git をインストールしたら再度デモ再開。このチュートリアル画面でそのまま git ページへ行ってインストールした方はおそらく Docker Desktop を再立ち上げしたほうが良いです。(git コマンドを使えるようにするため、環境変数が変わっているはず)

ボタンを押して、git clone が実行されます。

はじめての Docker Image ビルド

ダウンロードしてきた Getting-Started プロジェクトから、初めての Docker Image を作成(ビルド)します。わくわく。

ボタンを押して進めると docker build -t DockerImageのタグ コマンドで Image ファイルがビルドされます。

docker-desktop-for-win-setup3.png

Successfully build がログに出ているので無事にイメージが作られました。

コンテナでDockerイメージを動かす

さきほどビルドしたDockerイメージを動かすチュートリアルのようです。

docker-desktop-for-win-setup4.png

 
コマンドプロンプト
docker run -d -p 80:80 \
    --name docker-tutorial docker101tutorial

docker run 動かすイメージの名前 で新しくコンテナを作成して、イメージを動かします。 オプションの意味は下のとおりです。

オプション 意味
-d detached mode(バックグラウンド)で動作させる
-p 80:80 コンテナ内のTCP/IPポート80をホスト側(親OS)のポート80 に紐づける
--name docker-tutorial 新しくつくるコンテナにつける名前

進めると、無事にコンテナが動作したようです。

docker-desktop-for-win-setup6.png

ボタンを押すと、ブラウザが立ち上がり、ローカルホストのポート80にアクセスします。 無事にコンテナのアプリ(Getting-Started)にアクセス出来たみたいです。

docker-desktop-for-win-setup5.png

立ち上げた Getting-Started の最初のページでおめでとうと祝福されました。ウレシイ!

めでたしめでたし。

補足:Docker チュートリアルをもう一度

途中でチュートリアルを停止しても、いつでも実施できます。

Docker Windows を起動すると、Windows のタスクトレイに Docker アイコンが表示されるので、 アイコンの上で右クリックLearn を選択すればチュートリアル画面を呼び出すことができます。

補足:Docker Desktop が起動しないとき

私の環境では、インストール直後、Docker Desktop アイコンをクリックしてもアプリが起動した様子もなく、エラーダイアログの表示おなくなにもでませんでした。

おそらく正常に動作はしていない様子。

この状態でコマンドラインから docker コマンドを実行すると以下のようなエラーが帰ってくる状態です。

コマンドプロンプト
C:\temp>  docker -v
Docker version 19.03.12, build 48a66213fe
> docker run hello-world
C:\temp> docker run hello-world
docker: error during connect:
 Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/containers/create: 
open //./pipe/docker_engine: The system cannot find the file specified.
In the default daemon configuration on Windows,
the docker client must be run elevated to connect.
This error may also indicate that the docker daemon is not running.

なにやら「docker: error during connect: Post (http://Docker Engine のコンテナ作成アドレス)」にアクセスできなかった。もしかしたら接続する先の Docker のデーモンが起動してないのかもよ?(だいぶ意訳)

とのこと。これを見るとやはり Docker Desktop を起動しないとコマンドも使えないっぽい。

Docker Desktop の起動には WSL2 の Virtual Machine Platform のオプションが有効になっていることが必要なので以下で確かめましょう。

 
Powershell(管理者権限)
PS C:\> Get-WindowsOptionalFeature -Online  -FeatureName VirtualMachinePlatform

FeatureName      : VirtualMachinePlatform
DisplayName      : 仮想マシン プラットフォーム
Description      : 仮想マシンのプラットフォーム サポートを有効にします
RestartRequired  : Possible
State            : EnabledCustomProperties :

上記の State が Enable になっていなければ、下のコマンドで有効かしましょう! 自分の場合はこれが原因でした。

 
コマンドプロント(管理者権限)
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

念のため再起動したら、無事に Docker Desktop が起動しました。 他にも、一応 WSL1 に必要な Microsoft-Windows-Subsystem-Linux も有効であることを確認しておきます。

 
Powershell(管理者権限)
PS C:\> Get-WindowsOptionalFeature -Online  -FeatureName Microsoft-Windows-Subsystem-Linux

FeatureName      : Microsoft-Windows-Subsystem-Linux
   : 中略
State            : Enabled   : 以下略

Enable でなければ以下で有効化しておきます。

 
コマンドプロンプト(管理者権限)
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

また、一応 WSL1 ではなく WSL2 を使う設定となっていることを確かめましょう。 コマンドプロンプトから wsl --list -v を入力して、WSL2 が Docker Desktop に対して有効になっていることを確認します。

wsl-list-v.png

参考

変更履歴

  • 2020/08/07 初版公開
 
 
送信しました!

コメント、ありがとうございます。

なんかエラーでした

ごめんなさい。エラーでうまく送信できませんでした。ご迷惑をおかけします。しばらくおいてから再度送信を試していただくか、以下から DM などでご連絡頂ければと思います。

Twitter:@NodachiSoft_jp
お名前:
 
連絡先:
 
メッセージ:
 
戻る
内容の確認!

以下の内容でコメントを送信します。よろしければ、「送信」を押してください。修正する場合は「戻る」を押してください

お名前:
 
連絡先:
 
メッセージ:
 
Roboto からの操作ではないという確認のため確認キーを入れてください。
確認キー=95
戻る
 / 
送信確認へ
コメント欄
コメント送信確認へ

関連ありそうな記事(2件)です!

Windows10 Home で WSL2 を使えるようにし、Ubuntu をインストールして Windows Terminal から起動するまでの手順

#WSL2#開発環境構築✎ 2020-08-06
Windows10 Home で WSL2 を使えるようにし、Ubuntu をインストールして Windows Terminal から起動するまでの手順を記録したもの
広告領域
追従 広告領域
目次
Windows10 Home + WSL2 環境で Docker (Docker Desktop)を使う手順
Windows10 Home + WSL2 環境で Docker (Docker Desktop)を使う手順
自分の環境の確認
自分の環境の確認
Windows のバージョンとエディション確認
Windows のバージョンとエディション確認
chocolatey からのインストール
chocolatey からのインストール
手動インストール
手動インストール
チュートリアルの開始
チュートリアルの開始
はじめての Docker Image ビルド
はじめての Docker Image ビルド
コンテナでDockerイメージを動かす
コンテナでDockerイメージを動かす
補足:Docker チュートリアルをもう一度
補足:Docker チュートリアルをもう一度
補足:Docker Desktop が起動しないとき
補足:Docker Desktop が起動しないとき
参考
参考
変更履歴
変更履歴
Nodachisoft © 2020