WSL(Debian stretch)下docker-ce启动失败,提示/etc/fstab不存在
解决WSL Debian Stretch中Docker启动时/etc/fstab不存在的问题
我之前在早期WSL环境里踩过这个坑,Docker的启动脚本会依赖/etc/fstab做挂载检查,但WSL默认可能没生成这个文件,就会出现你看到的grep: /etc/fstab: No such file or directory警告,最终导致Docker启动失败。别担心,几步就能搞定:
1. 先创建缺失的/etc/fstab文件
首先用root权限创建这个空文件,先把“文件不存在”的问题解决掉:
sudo touch /etc/fstab
2. 配置规范的fstab条目(推荐)
虽然空文件能让Docker启动,但为了让WSL的挂载更合理,建议补充基础的挂载配置。用nano编辑器打开文件:
sudo nano /etc/fstab
粘贴以下内容(可以根据你Windows的盘符调整挂载路径):
proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 # 挂载Windows C盘到/mnt/c,其他盘符依此类推 /dev/sda /mnt/c drvfs defaults 0 0 /dev/sdb /mnt/d drvfs defaults 0 0
按Ctrl+O保存,回车确认,再按Ctrl+X退出编辑器。
3. 重新启动并检查Docker状态
现在再启动Docker服务:
sudo service docker start
然后检查运行状态:
sudo service docker status
这时候应该就能看到Docker正常运行的提示了。
额外建议
如果还是启动失败,大概率是WSL版本的问题——WSL 1对Docker的支持有很多限制,建议升级到WSL 2。先查看当前WSL版本:
wsl -l -v
如果你的Debian是WSL 1,执行下面的命令转换(注意替换成你的发行版名称):
wsl --set-version Debian 2
转换完成后重启WSL,再启动Docker,基本就能解决问题了。
内容的提问来源于stack exchange,提问作者qwang07
相关产品推荐
相关产品推荐

