WSL2上のUbuntuの中でDockerを動かすには?

Docker

概要

WSL上のUbuntuでDockerを動かし、起動時にDokcerを自動起動させるための手順メモとなります。

作業内容

1. リポジトリの追加

sudo apt-get update
sudo apt-get install \\
    ca-certificates \\
    curl \\
    gnupg \\
    lsb-release

2. Docker公式のGPGキーを追加

sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

3. リポジトリのセットアップ

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

4. Dockerのインストール

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

これでDockerのインストールは完了です。
基本的には公式サイトに掲載されているUbuntu用の手順通りで問題ありません。

Install Docker Engine on Ubuntu

5. Dockerに権限を付与

sudo usermod -aG docker ${UserName}

管理者権限以外でもDockerコマンドを使用できるよう権限を付与します。

6. エディタをvimに変更

sudo update-alternatives --set editor /usr/bin/vim.basic

初期設定のまま今後の手順を進めていくと、nanoエディタが起動し困惑することになるので、みんなが使い慣れてるvimに変更しておきましょう!!

7. 自動で起動するための設定

sudo visudo

末尾に以下を追加します。

%docker ALL=(ALL)  NOPASSWD: /usr/sbin/service docker start

これでdockerグループのユーザーがパスワード入力なしでDockerを起動できるように。

あとは使っているシェルでdockerを起動してあげます。 自分は最近fishを使い始めたのでconfig.fishに以下の内容を追記。

if test (service docker status | awk '{print $4}') = "not"
  sudo service docker start > /dev/null
end

これでUbuntuを起動した際に、自動でDockerが立ち上がるようになりました!
起動の度に毎回Dockerを立ち上げるのは面倒なのでこういった作業はどんどん自動化していきたいですね!

関連記事

  1. Docker

    【Docker】DockerでMySQLを起動

  2. 【Docker】初めてのDocker#3(docker-compose…

  3. 【Docker】初めてのDocker#1(環境構築)

  4. 【Docker】初めてのDocker#2(Hello World~コン…

最近の記事

  1. AWS
  2. AWS
  3. AWS
  4. AWS
  5. AWS
  6. AWS
  7. AWS
  8. AWS

制作実績一覧

  1. Checkeys