😺
WSL2にDockerを入れてVScode上で作業する
やってみたので備忘録にメモ
環境
- OS: windows 10 Pro Version 1909 (OS build 18363.1082)
- WSL2: ubuntu 20.04 (入れたばかり) ※ 公式インストール手順
- VScode: 1.49.2
- Docker Desktop: version 2.4.0.0
手順
WSL2にdockerをインストール
-
公式手順を参考に以下を実行していく
$ sudo apt update -y && sudo apt upgrade -y $ sudo apt install -y apt-transport-https ca-certificates curl software-properties-common $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" $ sudo apt install -y docker-ce $ sudo service docker start $ sudo docker -v Docker version 19.03.13, build 4484c46d9d
-
動作確認
$ sudo docker run hello-world $ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest bf756fb1ae65 9 months ago 13.3kB
-
作業ユーザ(WSL2実行ユーザ)をdockerグループに追加しておく
$ sudo usermod -aG docker <your-user>
VScode上でWSL,コンテナ環境の作業
- VScodeを起動し、拡張機能からRemote Develpmentをインストールする
- VScodeを再起動すると、左タブにRemote Explorerのアイコンが追加される
- Remote Explorerのアイコンを選択し、WSL Targetsを選択する
- dockerをインストールしたWSL2を選択(Conncect to WSL)する
- VScodeのwindowが更新され、WSL2上で作業可能になる
- windowの左下に
WSL: Ubuntu
等が表示される -
Ctrl + Shift + @
でターミナルが開く - 左タブの
Open Explorer > Open Folder
でWSL2上の作業ディレクトリを選択できる
- windowの左下に
- 適当なディレクトリを作成し、Dockerfileを作成する
- 今回はpythonの実行環境を作るというていで以下を記述
-
python:alpine3.12
は公式DockerHub上のイメージ名:tag名
FROM python:alpine3.12
- 再度、Remote Explorerのアイコンを選択する
- Containers > Open Folder in Containerを選択する
- ここで、作業ユーザ(WSL2実行ユーザ)をdockerグループに追加していないと、permissionエラーが起こるので注意
- ここで、作業ユーザ(WSL2実行ユーザ)をdockerグループに追加していないと、permissionエラーが起こるので注意
- Dockerfileを作成したディレクトリ選択し、
ok > From 'Dockerfile'
を選択 - (Dockerfileからコンテナが起動し、)VScodeのwindowが更新され、Dockerコンテナ上での作業が可能になる
- windowの左下に
Dev Container: Existing Dockerfile
が表示される - windowを閉じるとコンテナもstopする
- ターミナルで環境を確認してみる
# cat /etc/issue Welcome to Alpine Linux 3.12 Kernel \r on an \m (\l) # python --version Python 3.8.6
- windowの左下に
Discussion