Help us understand the problem. What is going on with this article?

WSL2でdockerの環境構築

windows10のWLS2の構築と、WSL2上のdockerの構築をしましたので、手順を記載します。

環境

  • Windows10 pro version 2004 os build 19041.329
    *WSL2を設定するにはversion 2004以上が条件
  • WSL2
  • ubuntu 20.04 LTS
  • docker 19.03.11

WSL2の構築

1. WindowsのLinux実行オプションを有効化

PowerShellでコマンド実行 *管理者権限必要

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2. Windowsの仮想プラットフォームオプションを有効化

PowerShellでコマンド実行 *管理者権限必要

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

3. カーネルの更新

wsl_update_x64.msiからmsiをダウンロードし、実行
参考:WSL 2 Linux カーネルの更新

4. WSL2を既定のバージョンに設定

wsl --set-default-version 2

5. Linxのセットアップ

LinxのディストリビューションをMicrosoft Storeから選択
microsoftstore.png
ubuntu.png

インストール完了後、アカウントパスワードを設定し、セットアップ完了
ubuntu_acp.png

6. WSL2での確認

セットアップしたディストリビューションは以下のコマンドでWSL2からも確認可能

wsl --list --verbose

ディストリビューションは以下のコマンドで操作可能

# 稼働しているディストリビューションのリスト
wsl --list --running 

# ディストリビューションの終了
wsl --terminate <ディストリビューション名> 

# ディストリビューションの破棄
wsl --unregister <ディストリビューション> 

7. VSCodeからリモート接続

VSCodeの左下のマークから、Remote-WSL:New Windowでリモート接続できます。
vsdcode.png
vscode2.png

Dockerの構築

リモート接続しているVScodeのターミナル上で、dockerをインストールします。

1.必要モジュールのインストール

sudo apt-get install \
   apt-transport-https \
   ca-certificates \
   curl \
   gnupg-agent \
   software-properties-common

2.docker公式リポジトリと連携

docker公式のGPGキー取得し、aptのキーに設定

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

dockerの公式URLをaptリポジトリーに追加し、最適化

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update

3.dockerのインストール

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose

dockerの開始が出来れば、セットアップ完了

sudo service docker start

まとめ

旧来のdocker desktop for windowsは動作が重かったり、制約があり、使いにくかったですが、

WSL2-dockerは構築も簡単で、軽快に動作します。
使いたいときに、起動、実行ができるため、開発環境として素晴らしいと感じました。
今後も活用したいと思います。

参考サイト

WSL をインストールし、WSL 2 に更新する

WSL 2 Linux カーネルの更新

asahi13
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした