DamienKarrus’s blog

プログラミングとクライミングの足跡

Windows10 Pro+WSL2+DebianでDockerを動かす

現行システムのコンテナ化を進めるにあたりまずは開発環境を構築する。作業PCはWindows10 Proである。

WSLのインストール

まずはWSLのインストールから(ホストOSはwindows10 Pro 21H1)
コマンドプロンプトを管理者権限で実行

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

Linuxカーネル更新プログラム パッケージをダウンロード
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

既定のバージョンとして WSL 2 を設定

> wsl --set-default-version 2

Linux ディストリビューションをインストール
https://aka.ms/wslstore Microsoft Apps Linuxの起動を簡単に行うために、Windows Terminalをインストールする

https://www.microsoft.com/ja-jp/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab

LinuxからWindows上のファイルにアクセスするには
/mnt/c
WindowsからLinuxUbuntu)上のファイルにアクセスするには
\wsl$\Ubuntu

Dockerのインストール

Debianでdockerをセットアップする。少し癖がある。

$ sudo apt-get update
$ sudo apt-get install ca-certificates curl gnupg lsb-release \
https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) 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-compose-plugin
$ docker -v
$ docker image
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.

なんとサービスが動いてない。サービスをスタートしてみる。

$ sudo service docker start
grep: /etc/fstab: No such file or directory
[ ok ] Starting Docker: docker.

今度はfstabがないといわれる。確かにない。fstabをつくる。

$ sudo touch /etc/fstab
$ sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
$ sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
$ sudo service docker start
[ ok ] Starting Docker: docker.
$ sudo service docker status
[ ok ] Docker is running.

以上でdockerが動作する

Windows 11 Homeの場合の構築方法

damienkarrus.hatenablog.com