wsl中docker自启动

前言

wsl -l -v # 查看 wsl 的状态
wsl -t Ubuntu # 关闭指定版本
wsl -d Ubuntu # 启动指定版本

启动 docker

通过命令 ps -p 1 -o comm= 我们知道我们用的是 init,故我们将 systemd 命令修改为 SysV init命令。

ps -p 1 -o comm=
在这里插入图片描述

更换命令,用SysV init的命令代替systemd

$ sudo service docker start
$ service docker status

自启动 docker

WSL2内操作

sudo vim /etc/init.wsl
#! /bin/sh
service docker start
sudo chmod +x /etc/init.wsl

Windows内操作

  1. 在 windows 系统上创建一个启动脚本 startup.vbs
Set ws = WScript.CreateObject("WScript.Shell")        
ws.run "wsl -d ubuntu -u root /etc/init.wsl"

注:其中‘ubuntu’为WSL2子系统的名字

  1. 按 win+R 输入 shell:startup 将以上vbs文件放入该目录

说明

很多教程都说使用 sudo systemctl enable docker 和 sudo systemctl start docker,但是实际会报错。

用window10下WSL使用Ubuntu20.04,当我使用命令sudo systemctl status docker的时候报错:

System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

问题原因:
如果是一般的Linux操作系统,可能是因为Linux中没有使用systemd,想用systemd命令来管理Linux上的服务,因此会报错,很可能是使用的是经典的SysV init(sysvinit)系统。
但我这个是window10下WSL的Ubuntu,就会使SysV init而不是systemd。

解决方法:
更换命令,用SysV init的命令代替systemd的

image.png

reference

@article{glc4002021Sep,
author = {glc400},
title = {{WSL系统systemctl不能使用解决方法}},
journal = {SegmentFault 思否},
year = {2021},
month = sep,
urldate = {2023-06-20},
publisher = {SegmentFault},
language = {chinese},
url = {https://segmentfault.com/a/1190000040670856}
}
@misc{BibEntry2023Jun,
title = {{在Windows11中Linux子系统安装Docker}},
journal = {知乎专栏},
year = {2023},
month = jun,
urldate = {2023-06-20},
language = {chinese},
note = {[Online; accessed 20. Jun. 2023]},
url = {https://zhuanlan.zhihu.com/p/433898505}
}
@misc{BibEntry2023May,
title = {{wsl2 配置服务自启动 {\textendash} 梦回故里}},
year = {2023},
month = may,
urldate = {2023-06-20},
language = {chinese},
note = {[Online; accessed 20. Jun. 2023]},
url = {https://www.80shihua.com/archives/2890}
}

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

或许,这就是梦想吧!

如果对你有用,欢迎打赏。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值