📖
wsl上のubuntuにdockerをインストール
DNSの設定(ubuntu上の設定)
パッケージを更新する際に、DNSの設定をしていない場合、ダウンロードでエラーが出るので最初に修正しときます。
また、再起動の都度「/etc/resolv.conf」が書き換わるので、「/etc/wsl.conf」を作成し書き換わらないように設定をする
wsl.confファイル確認
ubuntu上
cat /etc/wsl.conf
設定追記作成
ubuntu上
sudo tee -a /etc/wsl.conf << EOF
[network]
generateResolvConf = false
EOF
ubuntuを再起動
windows上
wsl --shutdown
resolv.confの確認
ubuntu上
cat /etc/resolv.conf
/etc/resolv.confに追記
ubuntu上
sudo tee -a /etc/resolv.conf << EOF
nameserver 8.8.8.8
EOF
削除されないように属性変更
ubuntu上
sudo chattr +i /etc/resolv.conf
パッケージ一覧をアップデート
ubuntu上
sudo apt-get update && sudo apt dist-upgrade -y && sudo apt autoremove -y
ubuntu上
sudo apt-get install -y ca-certificates curl gnupg lsb-release vim git
Docker の公式 GPG キーを取得する
ubuntu上
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
リポジトリを更新する
ubuntu上
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
sudo apt-get update
Docker Engine のインストール
ubuntu上
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
ubuntu上
sudo apt update && sudo apt dist-upgrade -y && sudo apt autoremove -y
Dockerのバージョン確認
ubuntu上
docker -v
Docker Engine の権限設定
ubuntu上
sudo usermod -aG docker $USER
Dockerの自動起動設定
まずは、docker startをsudoなしで実行できるようにする
ubuntu上
sudo visudo
最後の行に以下を追加して、保存
ubuntu上
%docker ALL=(ALL) NOPASSWD: /usr/sbin/service docker start
「ctrl + o」:保存
「ctrl + x」:終了
次に、ubuntu起動時に「docker start」が実行されるようにする
ubuntu上
sudo vi ~/.bashrc
最後の行に以下を追加して、保存
ubuntu上
if [ $(service docker status | awk '{print $4}') = "not" ]; then
sudo service docker start > /dev/null
fi
動作確認
windows上で以下のコマンドでubuntuを落とす
windows上
wsl --shutdown
ubuntuを立ち上げたあと、以下を実行し確認
ubuntu上
docker -v
ubuntu上
docker compose version
ubuntu上
docker container run --rm hello-world
Discussion