🦁

Windows11にDocker Desktopを導入した記録

2023/01/05に公開

最初に

Zenn初投稿です。表題について公式ドキュメント等を見ればできることですが、学習記録を書いてみることにしました。
使用マシン:Windows 11 Pro(version 22H2)

Docker Hubアカウントの作成

Docker Hubとは、コンテナの共有サービスです。事前にアカウントを用意しておきます。
https://hub.docker.com/

  1. 登録したいアカウントを入力。Send me occasional product updates and announcements.のチェックは任意で、それ以外の項目は入力またはチェックが必須です。
  2. お好みのプランを選択。
  3. 「[Docker] Please confirm your email address」という件名のメールを受信するので、メール本文の「Verify email address」をクリック。
  4. サインイン後のDocker Hubが表示されて完了。

WSL2の有効化

参考にしたドキュメント
https://learn.microsoft.com/ja-jp/windows/wsl/install

WSL2を初めて有効化する場合は、PowerShellでwsl --installを実行すればよいです。

WSL2の有効化が正しく完了していない場合

私の環境ではWSL1のUbuntuを入れて放置していたので、Docker環境を整えるにあたってWSL1のUbuntuを削除しました。そのためwsl --installは不要でwsl --set-default-version 2だけ実行すればよいと思い込んで進めたところ、Docker Desktop起動直前でエラーが出てしまいました。WSL2 Linux kernelのアップデートが必要でしたので、以下のドキュメントの「手順 4 - Linux カーネル更新プログラム パッケージをダウンロードする」を参照して対処しました。
https://learn.microsoft.com/ja-jp/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package



WSL2の有効化が正しく完了していないときのエラー

WSL 2 installation is incomplete.
The WSL 2 Linux kernel is now installed using a separate MSI update package.


WSL2 Linux kernelのアップデートを実施。


数秒で終わるのでFinishボタンをクリック。パソコン再起動が必要になります。

Docker Desktopのインストール

参考にしたドキュメント
https://docs.docker.com/desktop/windows/wsl
ダウンロードしたexeファイルを実行してボタンクリックで進むので、インストール手順はほとんど見ていないのが正直なところです。

右下にボタンがあるのでクリックすることでインストールが始まります。
(キャプチャ取得に失敗してボタンのある位置が写っていませんでした)


インストール中。


インストール完了画面です。パソコンを再起動します。


デスクトップに追加されたDocker Desktopのアイコンをダブルクリック。
Docker Subscription Service Agreementの画面が出るのでAcceptボタンをクリック。


無事に起動しました。
Docker初心者なので、チュートリアルをやっていきます。

Dockerチュートリアル

First, clone a repository

右側にPowerShellが組み込まれていて、各ステップで用意されたコマンドを実行するだけです。
getting-startedフォルダが作成されました。

Now, build the image

先ほどクローンしたgetting-startedフォルダにDockerfileが含まれていて、Dockerfileの記載に基づいてコンテナイメージがビルドされました。

キャプチャは省略しますが、実行結果に以下のメッセージが含まれていました。コンテナイメージの脆弱性を診断するdocker scanコマンドの案内みたいなもので、エラーではなかったです。

Use 'docker scan' to run Snyk tests against images to find vulerabilities and learn how to fix them

参考
https://docs.docker.com/engine/scan/

Run your first container

コンテナを実行してhttp://localhostにアクセスすると、コンテンツが表示されました。

Windows Defenderファイアウォールの警告が表示される場合

Dockerコンテナの初回実行後は、以下の警告画面が表示されたので、プライベートネットワークのみを許可しました。
(またキャプチャ取得に失敗していますが、右下あたりに許可やキャンセルボタンがあります)

あとからWindows Defenderファイアウォールの設定を見直したい場合は、以下のページが参考になります。Windows10向けの手順ですが、項番1.-3.で「更新とセキュリティ」を「プライバシーとセキュリティ」に読み替えていただければほぼ一緒です。
https://faq.nec-lavie.jp/qasearch/1007/app/servlet/relatedqa?QID=018029


Windows Defenderファイアウォールの許可されたアプリ

Now save and share your image

最後のステップはコンテナイメージの共有です。Docker Hubアカウントのサインインが求められます。サインイン前に表示されているコマンドは不完全で、正しくはスラッシュの前にDocker Hubアカウント名が入ります。

正しいコマンド

docker tag docker101tutorial アカウント名/docker101tutorial
docker push アカウント名/docker101tutorial

「Sign in here.」をクリックするとブラウザに遷移するので、そこでサインインしてDocker Desktopに戻ってくる流れになります。サインイン後は正しいコマンドに変わりますので、コンテナのタグ付けとイメージ共有ができたらチュートリアル完了となります。

Docker Desktopを使わない選択肢があるらしい

「Docker Desktopを使わずにDockerをインストールする」ことができるようですが、最初は何を言っているのかよく分からなかったです。言葉の意味としては、Dockerはコンテナのプラットフォームで、Docker Desktopはコンテナの扱いをいろいろと便利にしてくれるアプリケーションのことです。Docker Desktopがなくても、Docker Engineのインストールやその他設定を自分で行うことでDocker環境は整えられるそうです。(具体的な手順はここでは紹介いたしません。)
こんなページを見つけましたが、個人利用はこれといったデメリットはなさそうなのでDocker Desktopを使っていきたいと思います。
https://www.docker.com/products/docker-desktop/alternatives/

最後に

学習よりアウトプット(本記事の作成)に時間がかかりすぎました。Dockerをインストールしただけで正月休みが終わってしまうとは。なんとか両立して継続出来たらと思います。

Discussion