![win-docker](http://wisteriahill.sakura.ne.jp/CMS/WordPress/wp-content/uploads/2024/03/win-docker.jpg)
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スクリプトが実行できるかどうか確認します。
以下のコマンドを実行します。
1 |
Get-ExecutionPolicy |
上記の結果が「Restricted」の場合、現在のユーザにスクリプト実行権限を与えます。
1 |
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser |
再度Get-ExecutionPolicyを実行 して「RemoteSigned」になっていることを確認します。
wsl2およびUbuntuをインストール
1 |
wsl --install |
以下のようなエラーになった場合
Error code: Wsl/Service/CreateInstance/MountVhd/HCS/ERROR_FILE_NOT_FOUND
Ubuntuの登録を解除します。
>wsl –unregister Ubuntu
再度実行
>wsl –install
インストールが開始されます。
Ubuntu のインストールが終了すると、ユーザーアカウントを作成します。
まず、ユーザーネームを入力します(大文字は使えません、先頭に数字やハイフンもダメです)。
適当なユーザーネーム(例:foo3)を入力したら、次に適当なパスワードを入力してユーザーアカウント作成終了です。
exitでアカウントを抜けれます。
再度ターミナルを起動して確認してみます。
1 |
wsl --list --verbose |
WSL2がインストールされています(後ろのVERSION番号で確認)。
再度ターミナルを終了して、startメニュからUbuntuを起動します。
こんな感じ。
aptリポジトリをアップデートします。
1 |
sudo apt update |
以下のようなエラーが出た場合
例: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をインストールするために必要なパッケージをインストール
1 |
sudo apt install ca-certificates curl gnupg |
Docker公式のGPGキーを登録
1 2 3 4 5 |
sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/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をインストールします。
1 2 3 |
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin |
ログインユーザーでDockerが動かせるようにdockerグループへ追加
1 |
sudo usermod -aG docker $USER |
Dockerが正しく動作するか確認します。
1 |
sudo docker run hello-world |
こんな感じで確認できました。
Leave a Reply