71
59

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

さくらインターネットAdvent Calendar 2023

Day 4

Windows 11にDocker Desktopを入れる手順(令和5年最新版)

Last updated at Posted at 2023-12-04

概要

Windows 11 で Docker Desktop を動かすまでの手順を、比較的初心者を対象とし、順を追って作業できるようにまとめました。

背景など

こんにちは、Docker Captainをしている @zembutsu です。この記事はさくらインターネットAdvent Calendar 2023の4日目の記事として書きました(気づいたら枠が空いていたので差し込みました)。

まっさらな状態のWindows 11を手に入れ、Docker Desktopを入れ直す機会があり、ついでにセットアップ手順も確認しました。

Docker Desktop for Windows 11 が動くPCとは

ドキュメントのシステム要件1 によると、Windows 11で動かすには:

  • Windows 11 64bit: 21H2 以上(Home、Pro、Enterprise、Educationの各エディション)
  • メモリ 4GB
  • BIOS/UEFI でハードウェア仮想化に対応(hardware virtualization)

とあります。メモリは、そもそも Windows 11 自身が 4GB を動作環境としていますので、普通に Windows 11 が動けば特に気にする必要は無いでしょう。ハードウェア仮想化に対応しているかどうかは使っている CPU に依存します。もし BIOS/UEFI で無効になっていれば、有効化が必要です。

動作要件を満たしていれば、Docker Desktop のダウンロードとインストールに進みます。

以前のDocker Desktopは、事前にWSL2やカーネルファイル等のセットアップや設定が必要でした。WSL2とは、Windows Subsystem for LinuxはWindows上でLinuxを動かすための仕組みです。現在は、WSL2が入っていなくても、Docker Desktopのインストール中に自動でセットアップされます。
(詳しい方向けの補足情報:デフォルトではUbuntuがセットアップされます。他のLinuxディストリビューションを使いたい場合は、この段階で手動でもセットアップ可能です。また、自分でディストリビューションを決めた場合、Docker Desktop側でのWSL自動更新機能は無効にするかどうかの検討も必要です。)

Docker Desktop for Windows のダウンロードとインストール

ダウンロード

インストールをするには、Docker Desktopをインストールするプログラム(インストーラー)が必要です。Docker のウェブサイト https://www.docker.com/get-started/ からファイルをダウンロードできます。ページを開くと、次のような画像が開きますので【 Download for Windows 】(Windows用をダウンロード)をクリックします。

image.png

ブラウザでダウンロード始まり、終われば「ダウンロード」フォルダにファイルが入っています。エクスプローラーを起動して、「ダウンロード」を開くと、次のように【 Docker Desktop Installer 】のアイコンが見えますので、これをクリックします。

image.png

インストール

プログラムを起動すると、Windows の警告画面「ユーアーアカウント制御 このアプリがデバイスに変更を加えることを許可しますか?」という画面が出ます。「信頼済みの発行元:」が【 Docker Inc 】と表示されているのを確認した上で【 はい 】を選びます。インストール途中、もう一度この画面が出たら、同じように【 はい 】を押します。

しばらくすると、次のように設定画面が出ます。以下2つの項目にチェックが入っています。

  • 「Use WSL 2 instead of Hyper-V (recommended)」(Hyper-Vの代わりにWSL 2 を使う:推奨)
  • 「Add shortcut to desktop」(デスクトップにショートカットを追加)

すでに Hyper-V を使っている場合は、クリックしてチェックを外します。まっさらな状態からのインストールであり、特に理由も無ければ、そのまま WSL 2 を使う設定で大丈夫です。また、デスクトップのショートカットが不要であれば、外しておきます。

確認したら【 OK 】をクリックします。

image.png

あとは、自動的にインストールが進行します。WSL が入っていない場合は、画面の後ろ側でインストール作業をしています。時間が多少かかるかもしれませんが、完了するまで画面をそのままにして待ちます。

インストールに成功すると、「Installation succeeded」(インストール成功)を表示されますので、【 Close and restart 】(閉じて再起動)をクリックして、PCを再起動します。もし何か作業中で保存していないものがあれば、再起動前に保存するのをお忘れなく。

image.png

PC再起動後のセットアップ

再起動が終わると、自動的に Docker Desktop が起動します。そして「Docker Subscription Service Agreement」が表示されます。これはサブスクリプションの使用許諾で、概要は次の通りです。

  • Docker Desktop は、 中小企業 (従業員 250 人未満、かつ、年間売上高が 1,000 万米ドル未満)、個人利用、教育、非商用オープンソースプロジェクトは無料です。
  • それ以外の場合は、サブスクリプションの支払が必要です。
  • 行政機関もサブスクリプションの支払が必要です。
  • Docker Pro、 Team、Business サブスクリプションには、 Docker Desktop の商業的利用を含みます。

内容を確認して【 Accept 】(受け入れる)をクリックします。

image.png

次に、インストールの最後で WSL 2 の自動更新をするか手動更新を行うか画面に表示されます。ここでは、特に理由がなければ、そのまま【 Finish 】をクリックします。

image.png

Docker Desktop を操作する前に

作業はあと少しです!

次は「Welcome to Docker Desktop」(Docker Desktop へようこそ)と表示されます。Docker Hub の ID を持っている場合は「Sign up」をクリックしてログインできます。ID を持っていない場合は【 Continue without signing in 】(サインインせずに継続)をクリックします。

image.png

そして、最後にアンケートが表示されます。「Tell us about the work you do」(どんなお仕事をしているか教えてください)と出ていますので、「What's your role?」(どんな役割?)のメニューから、必ず何かしらを選択します。そして【 Continue 】をクリックします。

image.png

これでセットアップは完了です! Docker Engine(Dockerコンテナやイメージを操作するプログラム)が起動中の表示に変わります。

image.png

次の画面に切り替われば、Docker Desktop を操作できます。

image.png

hello-world コンテナの実行

実際にコンテナが動くかどうか見てみましょう。虫眼鏡マークの検索ボックスで hello-world と入力すると、バッジのような公式マークが付いたイメージが見えます。これが Docker 公式イメージ(Official image)と呼ばれるものです。この列の右端の【 Run 】をクリックすると、コンテナを実行できます。

image.png

次の画面では詳細オプションを設定できます。ここでは、そのまま【 Run 】(実行)をクリックします。

image.png

あとは、自動的に hello-world Docker イメージをダウンロードし、このイメージを使う Docker コンテナを実行します。このコンテナは文字を出すだけですので、次のようにログの画面で実行結果を確認できます。

image.png

nginx コンテナの実行と、ファイアウォール設定の許可

もう1つコンテナを動かしてみましょう。Nginx の Docker イメージを使い、コンテナとして動かし、さらにブラウザで開きます。

先ほどと同様に、検索ボックスに nginx を入れます。検索したら、公式 Nginx イメージを見つけ【 Run 】をクリックします。

image.png

先ほどの手順とは異なり、【 Optional settings 】(オプション設定)をクリックします。そして出てくる項目のうち「Host port」に【 80 】を入れ、【 Run 】をクリックします。(すでにPC上でポート 80 を使用するプログラムを実行していると使えませんので、8080 など別の番号にします)

image.png

すると、次は「パブリック ネットワークとプライベート ネットワークにこのアプリへのアクセスをきょかしますか?」と表示が出ます。次の画面のように発行元が「Docker Inc.」と出ているのを確認し、【 許可 】をクリックします。

image.png

Nginx Dockerイメージをダウンロードした後、コンテナが起動します。次の画像のように、【 80:80 】と書かれているリンクをクリックします。この意味は、ホスト側、つまりPC側のポート 80 をコンテナ内のポート 80 に接続(マッピング)する意味があります。

image.png

リンク先をブラウザで開くと、次のように Nginx の初期画面が表示されます。

image.png

使用が終わったコンテナは「Actions」列にあるボタンをくりくし、停止・削除できます。

image.png

セットアップが終わったら?

「ハンズオンガイド」や「始め方」の公式ドキュメントの日本語訳がありますので、そちらを読み進めて慣れてみてはいかがでしょう。

Enjoy!

補足:「WSLでUbuntuを使いたいのですが?」

今回の手順インストールする WSL では、 docker-desktopdocker-deskto-data という名前の、 Docker Desktop を動かすことに特化した2 Linux ディストリビューションが自動的にセットアップされます。

> wsl --list
Linux 用 Windows サブシステム ディストリビューション:
docker-desktop (既定)
docker-desktop-data

このように、何らかの Linux ディストリビューションが入っているかのように見えますが、実際の開発用とでは使えないでしょう。たとえば、 aptdnf といったお馴染みのコマンドは使えません。

それでは、どのようにして Ubuntu を WSL で使えば良いのでしょうか。手順は2つあります。

Windows ストアで Ubuntu を探す

1つは、Windows ストアで Ubuntu を探します。アプリ「Windows Store」を起動し、検索画面で「Ubuntu」と入力します。【 入手 】をクリックするとダウンロードが始まります。

image.png

ダウンロードが終わったら、【 開く 】のボタンを押します。

ボタンを押すと、Ubuntu を初めて動かすための設定(初期化)が行われます。次のような画面が出てきたら「Enter new UNIX username:」(新しいUNIXユーザ名の入力)で、好きなユーザ名をに入力します(英語・数字・一部の記号)。これが、通常 Ubuntu 内で操作を行う(権限を持つ)ユーザ名になります。

image.png

その次の「New password:」と「Retype new password:」では、そのユーザ用のパスワードを設定します( sudo コマンドを使うときにも、このパスワードを入力します)。ここではキーボードを操作しても画面には文字が出ません。入力後に「エンターキー」を押します。確認用のパスワードと含めて、同じ文字列を二度入力します。

image.png

入力が正しければ、「この操作を正しく終了しました。」と出て、もう少し待てば Ubuntu が使えるようになります。

image.png

以上で Ubuntu のセットアップは完了です。

しかし、これだけでは Ubuntu 内で docker コマンドが使えません。普通に使えるようにするには、次の手順に進みます。

WLS のデフォルトディストリビューションを Ubuntu に変更する

これまでの手順を進めてきた場合、デフォルトでは WSL 内では docker-desktop がデフォルトの WSL 用ディストリビューションです。 wsl -l -v コマンドを実行すると、次のように入っているディストリビューション一覧が表示されますが docker-desktop* 印が付いており、これがデフォルトと分かります。

> wsl -l -v
  NAME                   STATE           VERSION
* docker-desktop         Running         2
  docker-desktop-data    Running         2
  Ubuntu                 Running         2

これを変更するには、コマンド wsl --set-default ubuntu と入力します。

> wsl --set-default ubuntu
この操作を正しく終了しました。

それから、再度ディストリビューション一覧を表示すると、今度は ubuntu* マークが付いていて、設定の切り替わりを確認できます。

> wsl --list
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu (既定)
docker-desktop-data
docker-desktop

あとは、Windows メニューから wsl を起動すると、ubuntu にログインした状態の画面が開き、かつ、 docker コマンドも使えるようになります。

image.png

Enjoy!

関連情報

  1. https://docs.docker.com/desktop/install/windows-install/#system-requirements

  2. https://docs.docker.com/desktop/wsl/#enabling-docker-support-in-wsl-2-distros

71
59
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
71
59

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?