ㄟ...不是啊, 你都在 Windows 底下裝 WSL2 了, 怎麼不用 Docker Desktop 來控制他呢?....
人家裡面就有一個 Use WSL2 based Engine 的選項, 可以讓你直接安裝, 並且啟動 WSL2 裡面的 Docker daemon:
你只要透過 Start/Stop Docker Desktop GUI 就可以控制 Docker daemon 的啟閉了, 不需要再去搞那個半殘的 WSL2 systemd..... (沒搞好還會整個系統毀掉, 畢竟他並不是真正全功能的 Linux Kernel...)
啟動 Docker Desktop 之後, 照樣可以在 WSL2 裡面使用 docker 指令; 你就把 Docker Desktop 當成 WSL 底下的 systemd start/stop docker 指令來用就對了...
接下來就可以專心玩 Container, 不用再去煩惱安裝/啟動的事情了....
(當然你非要排斥 Docker Desktop 也不是不行, 只是會繞很遠的路)
試試看改用
$ sudo service docker status
出現那個訊息代表你的電腦不是用 systemd
這個不行我試過了
sudo service docker status
sudo service docker retart 失敗
失敗沒有寫錯誤原因?
基本上都會有Log
你找看看/var/log/docker/ 會不會有線索
sudo service docker status
是檢查運行狀態
sudo service docker restart
重新執行
若發生錯誤應該可以從Log裡面看的到
好唷 感謝你 我看看 :)
/var/log/docker.log 好像 iptables 太舊 這個要怎麼升級?
** can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
(exit status 3)**
你的 distro 是選什麼?選到沒有 iptables 的 distro?是說 wsl 的 docker 應該還是要用 docker desktop 比較好一點.
直接在 wsl 裡面再裝一個 docker 我個人沒有試過
恩恩 我看走冤路了 果然 微軟真的不一樣