Windows10Homeで新しくなったWSL2を使用してDockerを利用

docker toolbox Docker

Dockerは仮想環境作成を補助してくれるアプリケーションとして、幅広く使われていて安定期に入っています。

windows 10 HomeでDockerを使用するためには通常のDockerではなくDocker Toolboxのインストールが必要になっていたのですが、Windowsのアップデートで新しい仮想環境「WSL2」が実装できるようになり、通常のDockerが使用できるようになったのでインストールからPythonの使用までをしてみます。

身近なDockerの使い方は

プログラミングで様々な言語が出ていることにより、習得するための学習で、様々なアプリケーションを今のパソコンに新しくインストールすることになります。

環境に合わずアンインストールをしたりなども頻繁にあり、PCの環境をクリーンに保つためにOSに直接ではなく、仮想環境を作ってそちらにインストールをする。合わなければ仮想環境ごと消す。こういった使い方ができます。

Windows10 Home上でのDocker環境構築は混迷期となってしまいそうなので、環境などを記入しておきます。。

インストールした時の環境

導入した環境
  • エディション Windows 10 Home
  • バージョン 20H2
  • OS ビルド 19042.746

環境の確認方法

Windowsのエディションの確認

まずは自分のWindowsがどのエディションであるのかを確認するための方法です。

設定→システム→バージョン情報と移動することで、使用しているPCの状態を確認することができます。

「Windowsの仕様」内にある「エディション」に「windows 10 Home」と表示されていることを確認してください。

仮想化の確認

タスクバーで右クリックをする、もしくはWindowsXキーを押して表示される一覧からタスクマネージャーを選択して表示することができます。

並んでいるタブから「パフォーマンス」をクリックし右下の方にある「仮想化」の横に「有効」となっていることを確認します。

無効の場合、Virtualization Technologyを有効にします。

仮想化機能を有効にするためのBIOS設定

WSL2を使用する

Linux 用 Windows サブシステムを有効にする

管理者としてPowerShellを開く

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

仮想マシンの機能を有効にする

管理者としてPowerShellを開く

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

再起動 して WSL のインストールを完了し、WSL 2 に更新します。

最新のパッケージをダウンロードします。 x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ

Dockerのダウンロード

「Docker Desktop for Windows」 をインストールするための公式サイト(英語)はこちら

始まりのコマンド

Dockerが正常にインストールされているかの確認します。

インストールの確認

Dockerのバージョンを表示

docker --version

コンテナの操作

動作確認

インストールが正常におこなわれDockerが機能している確認に「hello-world」イメージがあります。Docker Hubからダウンロード(pull)できるのでやってみましょう。

イメージの一覧を表示

docker image ls

Dockerではコンテナを作成するのにイメージを使用します。現在の一覧を表示しましょう。今の状態では一覧には何もありません。

Docker Hubからhello-worldイメージをpull

docker image pull hello-world:latest

hello-worldイメージを表示

docker image ls

hello-worldがpullされたことを先ほどのイメージ一覧の表示コマンドで確認します。

コンテナの作成

ダウンロードしたイメージを使用してコンテナを作成しましょう。

イメージを動かして、コンテナを作成

docker container run hello-world

コンテナの一覧を表示

docker container ls -a

動いているコンテナを停止

docker container stop <container-ID or container-NAME>

コンテナを削除

docker container rm <container-ID or container-NAME>

イメージの削除

イメージを削除

docker image rm