LoginSignup
1
2

More than 1 year has passed since last update.

WSL2 に Docker をインストールする

Last updated at Posted at 2022-12-29

はじめに

WSL(Windows Subsystem for Linux) では、Windows 上でネイティブの Linux を起動することができます。WSL では、Docker をインストールして、イメージを起動することもできます。
ここでは、WSL に Docker CE をインストールする方法を説明します。Docker Desktop は、使用していません。

前提条件

パッケージ リポジトリへ Docker を追加

パッケージ一覧の更新を行い、必要なパッケージをインストールします。

$ sudo apt-get update

$ sudo apt-get install ca-certificates curl gnupg lsb-release

公式の GPG 公開鍵をダウンロードして、/etc/apt/keyrings/docker.gpg として保存します。

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

パッケージ リポジトリに docker を追加します。

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

Docker CE のインストール

パッケージ一覧を更新します。

$ sudo apt-get update

Docker CE, Docker Compose をインストールします。

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

hello-world イメージを実行して、正しくインストールされたことを確認します。

$ sudo docker run hello-world
...
Hello from Docker!
...

ここで、「docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.」と表示されて、正しく実行できない場合は、systemd が有効化されていないため、docker demon が起動されていません。WSL で systemd を有効化 してください。systemd を有効化することで、でLinux 起動時に docker デーモンを起動できます。もしくは、sudo service docker start で手動で、デーモンを起動することもできます。

次に、docker グループにカレントユーザーを追加して、特権なしで docker を起動できるようにします。(オプション)

$ sudo usermod -aG docker $USER

グループへの追加を有効化するために、シェルを終了して、再度、シェルを開きます。
sudo なしで、hello-world イメージを実行します。

$ docker run hello-world
...
Hello from Docker!
...

参考

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2