🐳

windowsにLinuxを入れてDocker環境を構築する

2023/11/19に公開

wsl2でインストールしたUbuntu上にDockerインストールして
Dockerのhello-worldを実行します

wslとはWindows Subsystem for Linuxの略で
仮想マシンなどを使用せずに
windows上でUbuntu(ウブントゥ)などのLinuxディストリビューションを実行する方法です
https://learn.microsoft.com/ja-jp/windows/wsl/about

企業での利用も想定し、有償となるDocker Desktopは使用せず
wsl2のlinuxに直接Dockerをインストールします
https://www.docker.com/pricing/

本記事で分かること

  • wsl2のインストール
  • UbuntuへのDockerインストール
  • Dockerのhello-worldを実行

所要時間

約20分

環境

本記事は次の環境で実施しました

  • Windows 11 Home
    23H2

wslインストール

コマンドプロンプトを管理者モードで開き
wslをインストールします

wsl --install

コマンドをコピーしたら、コマンドプロンプトへは右クリックで貼り付けできます

管理者モードのコマンドプロンプト

筆者環境ではデフォルトでwsl2
Ubuntuがインストールされます

PCを再起動します

再起動するとUbuntuのウィンドウが表示されます
Ubuntuで利用する
ユーザー名とパスワードを決めて入力します

Ubuntu

Linuxの更新

とりあえず更新します

sudo apt update && sudo apt upgrade

Dockerインストール

dockerをインストールします
Docker Desktop for Windowsは使用せず、直接UbuntuにDockerを入れます

sudo apt-get install ca-certificates curl gnupg
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

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
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 

https://docs.docker.com/engine/install/ubuntu/

毎回sudoするのは面倒なので、dockerグループに自分(giana)を追加します

sudo usermod -aG docker giana

ユーザーの権限を変えたら再ログインします

またファイルの権限を変えてdockerを再起動します

sudo chgrp docker /var/run/docker.sock
sudo service docker restart

Dockerインストール確認

hello-worldを実行します

docker run hello-world

Hello from Docker!と表示されれば、正しくDockerインストールされています

Hello from Docker!

https://docs.docker.com/get-started/

以上でDockerのインストール完了です

wsl2のファイルの場所

wsl2のファイルはwindowsのエクスプローラーから確認できます
ファイルの場所は

\\wsl$\Ubuntu\

エクスプローラーのメニューにLinuxが追加されます
こちらからもファイルにアクセスできます

Linux

Discussion