Frqux’s AI laboratory

AIの技術が進化する今日

Windows11のWSL2でDocker環境を構築する(Docker Desktop)

目次


対象の読者

  • WSLやLinuxの知識がない方
  • Dockerの環境をWindowsPCに作りたい方


 最近は、生成AIを使うためにDockerを導入する方が増えてきてるので、誰にでも分かるようにできるだけ丁寧に説明します。

 筆者の環境としては、PC買いたての何も入っていない状態ですので、今回初めてWSLやDockerに触れる方と似た環境だと思います。




WSLの有効化


 まず、WSLの有効化を行います。

 これをしないと、Windows上でLinuxを扱えません。


1.検索窓に、「Windowsの機能の有効化または無効化」と入力

検索窓での検索結果例


 ここで、おそらく最上部に表示される「Windowsの機能の有効化または無効化」を押します。


2.WSLを有効化

 1を実行すると、以下のようなウィンドウが表示されると思います。

Windowsの機能の有効化または無効化

 ここで、「LinuxWindows サブシステム」にチェックを入れてください。

LinuxWindows サブシステム にチェックを入れる


3.Hyper-V仮想マシンプラットフォーム)を有効化する

 2と同様のウィンドウで、「仮想マシンプラットフォーム」も有効化するためにチェックを入れておきましょう。

仮想マシン プラットフォーム を有効化

 この機能は、Dockerを使うために必要です。
 WSLを使うだけであれば必要ありません。

 これで、右下の『OK』を押してください。

 すると、必要なファイルの検索を自動で行ってくれます。


 しばらくすると、以下のような画面になるので、再起動を行ってください。

Windowsの機能の有効化完了


Ubuntuの導入

 Ubuntuは、OSの一種で、Linuxの派生OSです。

 WSLを有効化したことによって、Windows上でLinuxを動かせるようになったので、使えるようになります。

 Ubuntuの詳しい説明は省きますが、新しいOSをPCに入れると思ってください。

 「新しいOSなんか入れて大丈夫なの?」と思う方がいるかもしれませんが、今入っているWindowsOSに影響はないので、安心して入れてくださいね。


 Ubuntuは、今回はMicrosoft Storeを使って入れます。

 Microsoft Storeで『Ubuntu』と検索すると、Ubuntuが検索結果に出てくるので、Ubuntuをインストールしてください。

1.『Ubuntu』検索結果

 ここで、『Ubuntu 22.04.3 LTS』や、『Ubuntu 20.04.6 LTS』などUbuntuがたくさん出てきますが、今回はただの『Ubuntu』をインストールします。

 これらは、バージョンの違いで、数値が小さいほど古いバージョンになっています。

 必ずしも新しいバージョンでいいわけではないので、使用用途に沿ってバージョンを決めるようにしましょう。バージョンによって、
 今回は『Ubuntu』で大丈夫なので、これをインストールしましょう。

 今後、別バージョンを使うとなっても、簡単に切り替えれるので安心してください。

2.『Ubuntu』インストール


 インストールが完了すると、『入手』が『開く』に変わるので、『開く』を押して、Ubuntuを起動しましょう。

 すると、以下のような画面になります。

Ubuntu 初回起動画面(Linuxカーネルなし)


 これは、Linux カーネルが入っていない場合に表示される画面です。
 初めてWSLを使うなら、ほぼ必ずこの画面になると思いますが、もしLinuxカーネルがすでに入っていた場合は、この画面にならずにインストール作業に入るので、次の章は飛ばしてください。


Linuxカーネルの導入

 先ほどの表示画面に記載されているURLにアクセスすれば、Linuxカーネルのダウンロードページに移動しますので、そこからダウンロードします。

 わからない方は、以下のURLからページに飛んでください。

Manual installation steps for older versions of WSL | Microsoft Learn

 Microsoftのページに飛びましたら、赤丸で囲んでいるところをクリックして、ダウンロードしてください。

Linuxカーネルページ

 その後、『wsl_update_x64.msi』というファイルがダウンロードされるので、実行しましょう。

 すると、以下のようなかわいいペンギンが書いてある画面が出るので、『NEXT』をクリックします。
 ちなみに、このペンギンの名前は"タックス"というらしいです。
 これからお世話になるので、覚えてあげておきましょう。

カーネル更新1

 すると、Windows側で実行の許可について聞かれるので、許可してください。

 すると、数秒で更新が終了し、以下の画面になるので、『Finish』を押して終了してください。

カーネル更新2

 これで、Ubuntuが正常に起動するようになりますので、設定に移っていきましょう。


Ubuntuの初期設定

  Linuxカーネルを更新した後Ubuntuを起動すると、以下の画面になります。

Ubuntu

 インストールが完了すると、以下のようにユーザーネームの設定を促されますので、お好きな名前を入力して、Enterを押して決定してください。

Ubuntu

 次にパスワードの設定を促されますので、お好きなパスワードを設定してください。

 確認のための入力と、合わせて2回パスワードの入力を求められるため、2回とも同じパスワードを入力してください。
 この時、パスワードは入力中でも画面に表示されることはありません。ご注意ください。

Ubuntu

 その後、以下のような画面になれば設定完了になります。

Ubuntu

 これでUbuntuのインストール・設定作業は終わりです。


Docker Desktopのインストール

 次は、Docker Desktopのインストールです。

 Docker Desktopは、現在Dockerを使う際に推奨されているソフトウェアで、様々な機能や状態の管理がGUI上で行える便利なソフトウェアです。

 ではまず、Docker Desktopのインストーラーをダウンロードしてきましょう。

 以下のURLから、Docker DesktopのWebサイトに飛んで、インストーラーをダウンロードしてください。

www.docker.com

Docker Desktop Webページ

 『Download for Windows』ボタンにカーソルを合わせると、以下のように『Download for Linux』や『Download for Mac』など色々出ますが、『Download for Windows』からインストーラーをダウンロードしてください。

Docker Dektop Webページ

 すると、『Docker Desktop Installer.exe』というファイルがダウンロードされるので実行しましょう。この時、ユーザーアカウント制御の許可を求められるので許可しましょう。

 すると、デスクトップショートカットを作成するか聞かれるので、必要であればチェックのまま右下の『OK』を押してください。PC操作に慣れていない方であれば、ショートカットは作成したほうがいいでしょう。

Docker Desktop Installer

 『OK』を押すと、下の画像のようにインストールが始まりますので、しばらく待ちましょう。

Docker Desktop Installer

 数分後完了すると思うので、以下の画面になったら『Close and log out』を押しましょう。
 ※ このボタンを押すと、いったんWindowsでサインインしているユーザーからログアウトされるので、何か作業中であればそれが終わってから押すようにしましょう。

Docker Desktop Installer


Docker Desktopの初回設定

 ログアウト後ログインするか、もしくは再起動後に以下の画面が出るので、『Accept』を押してください。

Docker Desktop 初回起動画面

 すると、ウィンドウが閉じて、次のようなウィンドウが立ち上がります。

Docker Desktop 初回起動 設定

 ここでは、上の『Use recommended Settings (require administrator password)』にチェックを入れたまま、『Finish』を押してください。

 これは、Docker Desktopでおすすめ設定を使うか、手動で設定を行うかの違いで、知識がある方や特定のタスクにて設定を特化させる場合は下の『Use advanced settings』のほうにチェックを入れて、ご自身で設定を行ってください。

 とりあえずDocker Desktopを使いたい方や、今は特に何にDockerを使うか考えていない方は、上の『Use recommended Settings (require administrator password)』にチェックを入れることで、おすすめ設定でを自動で設定してくれます。

 この『Finish』を押すと、ユーザーアカウント制御の許可を求められるので、『許可』するようにお願いします。

 その後、ログイン画面が出るかと思いますが、アカウントを作成・ログインしなくてもDockerは使えるので、ログインしなくてもよいです。
 今回は、『continue without signing in』を押してログインせずに進めます。

  • アカウントを作る場合 ... 緑色の丸で囲った部分をクリック
  • すでにアカウントを持っていて、ログインする場合 ... 黄色の丸で囲った部分をクリック
  • ログインせずに始める場合 ... 赤色の丸で囲った部分をクリック
Docker Desktop ログイン画面

 アカウントを作ってログインしておくと、Docker Hubを使うことができるようになります。

 Docker Hubは、様々な仮想環境設定が配布されているプラットフォームです。

 Docker Hubを使うことで、自分で環境設定を考えなくても、既にほかの人がその環境用に仮想環境を作って配布してくれていれば、それをDocker Hubからダウンロードして使うことができます。

 例えば、AIの学習の環境を構築したい場合、「OSは何にするか」「AI開発を行うフレームワークはどうするか」「PythonJavaのバージョンは何にするか」「ライブラリには何を使うか・バージョンは何のものを使うか」などなど設定しなければいけません。

 しかし、Docker Hubを使えば有識者がすでに設定を行い、その環境設定を配布しています。

 AI開発環境でいえば、Pytorchフレームワーク開発元の『Pytorch』が、Pytorchのおすすめ環境設定を配布していますし、Tensorflowフレームワークも同様に公式が環境設定を配布しています。ほかにもNVIDIA社の開発環境であったりなどが数多く配布しているので、実際に企業が開発で使っている環境と同じ環境で開発を行うことができたりします。

 以上が簡単なDocker Hubの説明でした。


 ログインしなくても、後からログインしたりアカウントを作ることができますので、最初はログインなしでもいいかもしれません。

 次に、あなたの役職を選択する画面に移るので、ご自身の役職を選んでください。
 アンケートのようなもので、答えなくても大丈夫なので、答えたくない方は下部の『Skip survey』から次の画面に移りましょう。

役職選択画面

 次は、Dokcerの使用理由について聞かれているので、あてはまるものを選択、もしくは『Skip survey』を押してスキップしましょう。

Docker 使用理由選択画面

 『Continue』を押すと、初回設定完了となり、Docker Desktopのコンテナ表示画面に移ります。

Docker Desktop コンテナ表示画面


WSLのUbuntuからDockerを使えるようにする

 次は、UbuntuからDockerを扱うための設定を行います。


1.まず、右上の歯車(⚙)マークから、設定画面に飛びます。

歯車マークをクリック

2.『Resources』タブをクリックします。

『Resources』タブをクリック

3.『WSL integration』をクリックして、『Ubuntu』を有効にする。

 有効化する場合は、赤丸の部分のスイッチボタンをクリックすれば有効になります。

WSL integration OFF状態

 有効になった(スイッチが青色になった)あと、右下の『Apply & restart』をクリックして終了します。

WSL integration ON状態


 これで、UbuntuからDockerを使えるようにする設定は完了です。


使えるようになっているか確認

 では、Ubuntuを開いて、Dockerが使えるようになっているか確認してみましょう。

 Ubuntuコマンドラインにて『docker』と入力して実行してみましょう。

 すると、以下のような、Dockerのコマンドヘルプが表示されると思います。
 これが表示されれば、Dockerが使えるということになります。

Docker command help


おわりに

 これで、設定は終わりです。

 お疲れさまでした。


 Dockerは簡単に環境構築ができるので、使う方は頻繁に使うものになると思います。

 ほかにも、仮想環境を作るソフトウェアとしては、『VMware』や『VirtualBox』などがあります。

 それぞれに特徴があるのですが、私の場合、WindowsXPなどの古いOSでの開発やWindowsGUI上で開発を行いたい場合は『VMware』で、コマンドラインで完結できる開発(AI開発など)は『Docker』で行うようにしています。『VirtualBox』は使ったことがないです。


 皆さんも、いろんな環境を作ってみて、楽しく開発していきましょう。

 最後まで読んでいただきありがとうございました。

 Dockerを使って、生成AIを使う環境構築を説明している記事もアップしているので、別の記事も是非読んでいってください。


 お疲れさまでした。