LoginSignup
3
6

More than 3 years have passed since last update.

Docker Desktop for Windows 10をセットアップして使ってみる

Last updated at Posted at 2020-07-01

Docker Desktop WSL 2 backend | Docker Documentationをよく読んでその通りに進めていけばインストールも実行もできます。
使い勝手はDocker Desktop for macOSと大差ないです。

WSL1とWSL2の違い

先日のWindows 10 May 2020 UpdateでWindows Subsystem for Linux 2 (WSL2)という機能が正式リリースされました。

WSL1ではLinuxの命令をWindowsの命令に変換し、Windowsが処理をしていた様子。そのためLinuxカーネルをWindowsは持っておらず、DockerのようなLinuxカーネルを活用するソフトウェアを動作させることができていませんでした。

しかし、WSL2ではHyper-V由来のサブシステム用仮想環境がWindows 10 Home/Proの両方に備えられ、この仮想環境内のLinuxカーネルを使い、処理を行うようになりました。

そのため、WSL2は「完全なLinuxがWindows上で動作する」と待望の機能となっていました...!

Source : 完全なLinuxがWindows 10上で稼働する? 「WSL 2」とは:Windows 10 The Latest - @IT

Windows 10のバージョンを確認

「Windowsの設定アプリ」を開き、「更新とセキュリティ」→「Windows Update」を開きます。
そして画面右にある「OS ビルド情報」をクリックし、「Windows の仕様」のセクションまでスクロールします。

そこの「バージョン」が2004以上であればWSL2を利用することができます。
要件を満たしていない場合にはWindows 10 May 2020 Update を入手するを参照してWindowsを更新しましょう。

Windows Subsystem for Linuxと仮想マシンプラットフォームのインストール

管理者権限でPowerShellを起動して、以下の2つのコマンドを実行。

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

これらのコマンドを実行したらPCを再起動しましょう。
そうすると、更新プログラムを適用するような感じになり、WSL2と仮想マシンプラットフォームが利用可能になります。

Linuxカーネルのバージョンアップ

WSL 2 Linux カーネルの更新に従ってLinuxカーネルを更新します。
このページからインストーラをダウンロードして実行すればカーネルが更新されます。


※日本語版サイトだと同じページにリダイレクトされる場合があります。英語版だとリンクが生きているので、その直リンクを配置しておきます。

WSL2 Linux kernel update package for x64 machines

WSLのデフォルトバージョンを2に設定

そして、デフォルトのWSLバージョンを2に変更します。

wsl --set-default-version 2

これでWSL2のセットアップが完了。

Docker Desktop for Windowsのインストール

WSL2が正式リリースされたこともあって、Docker Desktop for WindowsのStable版もすでにWSL2に対応しています。

Docker Desktop for Windows - Docker Hub からインストーラをダウンロード!

インストーラを実行し、ウィンドウがこのような感じになったら「Enable WSL 2 Windows Features」にチェックが入っていることを確認して、「Ok」を押下。
(以下のどちらのチェックボックスにもデフォルトでチェックが入っています)

image.png
インストールが完了すると、一度Windowsからサインアウトすることを要求されるので、要求に従いサインアウトしてあげましょう。

Docker Desktop for Windowsの設定

サインアウト後、再度サインインするとDocker Desktop for Windowsが起動しはじめる。
起動するとウィンドウが出てきてチュートリアルを開始しようとしますが、「Skip tutorial」でいいと思います。

ウィンドウの上のほうに歯車アイコンがあるのでそこをクリック。設定画面を開きましょう。

image.png
この画面の「Expose deamon on tcp://localhost:2375 without TLS」にチェックを入れよう。
これにチェックを入れることでPhpStormなどでDocker連携機能を使ったりすることができます。

Hello worldしてみる

試しにコンテナを実行してみよう。

docker run --rm hello-world

これでうまくいけば成功!

おまけ

PhpStormに設定

SettingsのBuild, Execution, Deployment > Dockerを開く。
そして、+をクリックしてこんな感じになればOK。

image.png

次に、Build, Execution, Deployment -> Docker -> Toolsを開く。
Docker Compose executableのパスに.exeを追加してあげましょう。

image.png

この手順を踏む前にDocker ComposeをGUIから使ってみようとすればわかるのですが、なんかうまいこといきません。
Python project Interpreter: docker-compose CreateProcess error=193 – IDEs Support (IntelliJ Platform) | JetBrains にこの解決法が記載されていました。

PhpStormではPHPのremote interpreter、PyCharmではremote interpreterを指定できます。主にPyCharmでは指定してあげるとコンテナ内のpipライブラリの補完をしてくれるようになるので設定すると作業効率が爆上がりが期待できます。

Run/Debug Configurationsも設定してあげるとワンクリックでコンテナの起動ができます。

image.png


Docker Desktop for Windows 10をSurfaceシリーズなどのタッチパネル搭載端末にインストールして利用すると、jsのタッチ入力イベントのデバッグなどを開発機単体でできて非常に便利でした。
けど、かなりの高スペックを要求される印象です。

こちらも合わせて → https://qiita.com/Denpa_Ghost/items/13ee35866c7d3985f4e9

3
6
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
3
6