如何让WSL中的Docker Daemon持久化,无需每次手动启动?
解决WSL中Docker Daemon无法持久运行的问题
针对你遇到的Docker服务每次重启CMD或闲置后就停止的问题,给你几个直接有效的解决方法:
1. 让Docker服务随WSL自动启动
因为你是用snap安装的Docker,直接执行以下命令设置服务开机自启:
sudo snap enable docker
这个命令会让Docker daemon在WSL启动时自动拉起,不用每次手动执行sudo snap start docker。
2. 禁用WSL自动休眠
WSL2默认在闲置一段时间后会自动休眠,导致后台的Docker服务被终止。你可以通过修改WSL配置来关闭这个特性:
- 在Windows的用户目录(比如
C:\Users\你的用户名)下创建或编辑.wslconfig文件,添加以下内容:
[wsl2] sleepTimeout=0
保存后,在CMD里执行wsl --shutdown重启WSL,之后WSL就不会自动休眠,Docker daemon就能一直保持运行状态。
3. (可选)免sudo执行Docker命令
如果不想每次执行Docker命令都输入sudo,可以把当前用户加入docker组:
sudo usermod -aG docker $USER
执行完后退出WSL再重新进入,就可以直接用docker命令了。
验证设置是否生效:重启WSL后,执行snap services docker,如果看到Docker服务状态为active,就说明配置成功了。
内容的提问来源于stack exchange,提问作者Yowims
相关产品推荐
相关产品推荐

