Ubuntu Xenial(16.04)安装Docker失败:start动作执行出错求助
解决Ubuntu 16.04安装Docker后启动失败的问题
嘿,我碰到过好几次Ubuntu 16.04上Docker安装后启动失败的情况,这个invoke-rc.d: initscript docker, action "start" failed报错其实挺常见的,咱们一步步来排查修复:
首先,得先搞清楚到底是啥原因导致启动失败,先查看Docker的详细启动日志,这是定位问题的关键:
journalctl -u docker.service
或者直接查看Docker的日志文件:
cat /var/log/docker.log
根据我处理过的案例,这里有几个大概率能解决问题的方案:
方案1:修复aufs存储驱动依赖
Ubuntu 16.04默认的Docker存储驱动是aufs,但有时候系统没装全依赖包,执行下面的命令补装:
apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
安装完成后重启Docker服务:
systemctl restart docker
方案2:彻底清理旧Docker残留
如果之前安装过旧版本的Docker,残留的配置或数据可能会干扰新安装的服务,先彻底卸载清理:
apt-get purge docker-ce docker-ce-cli containerd.io rm -rf /var/lib/docker rm -rf /etc/docker
清理完成后重新运行官方安装脚本:
wget -qO- https://get.docker.com/ | sh
方案3:手动配置Docker启动参数
有时候是默认的网络或启动参数有问题,比如DNS解析失败导致启动卡住,编辑Docker的默认配置文件:
nano /etc/default/docker
添加或者修改启动参数(这里以指定公共DNS为例,你可以根据日志调整):
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"
保存退出后重启Docker:
systemctl restart docker
方案4:检查并升级系统内核
Docker对Ubuntu 16.04的内核有最低要求(至少3.10版本),先查看当前内核版本:
uname -r
如果版本过低,建议升级内核:
apt-get install -y linux-generic-lts-xenial reboot
系统重启后再重新安装Docker。
如果上面的方案都没解决问题,把journalctl -u docker.service输出的完整日志贴出来,我可以帮你进一步定位具体问题。
内容的提问来源于stack exchange,提问作者Reaper Music




