Windows 11 にDocker環境 を構築


Docker Desktop for Windows のインストールではなく、WSL(Ubuntu) にDocker をインストールします。

windows環境は以下の通り。

windows 11 Pro ( 22H2 )
Core(TM) i5-4590T CPU @ 2.00GHz
RAM 8.00 GB

 

まず、PowerShellスクリプトの実行権限の確認を行います。

スタートメニューを右クリックして「ターミナル(管理者)」を選択、PowerShellスクリプトが実行できるかどうか確認します。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以下のコマンドを実行します。

上記の結果が「Restricted」の場合、現在のユーザにスクリプト実行権限を与えます。

再度Get-ExecutionPolicyを実行 して「RemoteSigned」になっていることを確認します。

 

 

 

 

 

 

 

 

 


wsl2およびUbuntuをインストール

 以下のようなエラーになった場合
Error code: Wsl/Service/CreateInstance/MountVhd/HCS/ERROR_FILE_NOT_FOUND
Ubuntuの登録を解除します。
>wsl –unregister Ubuntu
再度実行
>wsl –install

 

インストールが開始されます。

 

 

 

 

 

 

Ubuntu のインストールが終了すると、ユーザーアカウントを作成します。

まず、ユーザーネームを入力します(大文字は使えません、先頭に数字やハイフンもダメです)。

 

 

 

 

 

 

適当なユーザーネーム(例:foo3)を入力したら、次に適当なパスワードを入力してユーザーアカウント作成終了です。

exitでアカウントを抜けれます。

 

 

 

 

 

 

 

 

 

再度ターミナルを起動して確認してみます。

 

WSL2がインストールされています(後ろのVERSION番号で確認)。

 

 

 

 

再度ターミナルを終了して、startメニュからUbuntuを起動します。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

こんな感じ。

 

 

 

aptリポジトリをアップデートします。

以下のようなエラーが出た場合

例:Temporary failure resolving ‘archive.ubuntu.com’

 

 

 

 

 

 

 

 

 

名前解決ができていないので自分の環境にあったDNSサーバを /etc/resolv.conf に指定します。

まず、ネットワークの自動生成機能は切っておきます。/etc/wsl.confに追加します。
>sudo nano /etc/wsl.conf
[network]
generateResolvConf = false

次に、nslookupなどで自分の環境のDNSサーバを調べます(例:122.197.254.137)。それで/etc/resolv.conf を書き換えます。

>sudo nano /etc/resolv.conf
nameserver 122.197.254.137

updateを再実行、同時にupgradeもやっておきましょう。
>sudo apt update
>sudo apt upgrade -y

 


Dockerをインストールするために必要なパッケージをインストール

Docker公式のGPGキーを登録

Docker公式のGPGキーを使って、aptが参照するリポジトリを追加

echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

リポジトリを再度アップデートして、Dockerをインストールします。

ログインユーザーでDockerが動かせるようにdockerグループへ追加

Dockerが正しく動作するか確認します。

こんな感じで確認できました。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*