LoginSignup
3
2

More than 1 year has passed since last update.

WSL上でDockerが起動しないときの対処

Posted at

久々にwsl上でdocker起動しようとしたら動かなかったので対策をメモ

環境

ホストOS: Windows10
wsl上のOS: Ubuntu 20.04

現象

wslを立ち上げてdockerを起動する

$ sudo service docker start
 * Starting Docker: docker

起動したかと思いきや確認すると起動してない

sudo service docker status
 * Docker is not running

logを確認する
なんかErrorでてる

cat /var/log/docker.log
time="2022-06-30T16:46:34.468361900+09:00" level=warning msg="grpc: addrConn.createTransport failed to connect to {unix:///var/run/docker/containerd/containerd.sock  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial unix:///var/run/docker/containerd/containerd.sock: timeout\". Reconnecting..." module=grpc
failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables v1.8.4 (legacy): can't initialize iptables table `nat': Table does not exist (do you need to iからmod?)
Perhaps iptables or your kernel needs to be upgraded.
 (exit status 3)

原因

もしやと思ったがどうやらWSL2が更新されておらず、1のままらしい
PowerShellで

wsl --list --verbose
  NAME            STATE           VERSION
* Ubuntu-20.04    Running         1

対処

PowerShellで以下を実行し、バージョンを2に切り替えようとするもできない

wsl --set-version Ubuntu-20.04 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。詳細については https://aka.ms/wsl2kernel を参照してください

下記から wsl_update_x64.msiを入手してインストール
https://docs.microsoft.com/en-US/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package

再びやってみる

wsl --set-version Ubuntu-20.04 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
変換が完了しました。

いけた!

この状態でもう一度wslから起動してみる

$ sudo service docker start
 * Starting Docker: docker
$ sudo service docker status
 * Docker is running

うごいたー

3
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
3
2