1.启动 Docker 失败
如果发现docker
启动失败,可以通过以下命令输出docker
运行日志来定位问题所在:
1
| sudo journalctl -u docker.service --no-pager | tail -n 50
|
如果问题仍无法解决,可以尝试更彻底的方法:
- 卸载 Docker:
- 删除 Docker 相关的所有数据和配置:
1 2 3
| sudo rm -rf /var/lib/docker sudo rm -rf /etc/docker sudo rm -rf ~/.docker
|
- 重新安装 Docker:
- 启动 Docker 服务:
1
| sudo systemctl start docker
|
- 检查 Docker 服务状态:
1
| sudo systemctl status docker
|
1.1 网络冲突导致启动失败
日志内容如下:
1
| failed to start daemon: Error initializing network controller: error creating default "bridge" network: cannot create network c13e4912d03075485921194eecec303af8f714e77ad529759990f5b7ca155c68 (docker0): conflicts with network 1b9dcc9575e5af33281149149481d0eca4a5d60de0fac2f9264f0b265ab955db (docker0): networks have same bridge name
|
这个错误表明 Docker 试图创建默认的 bridge 网络,但是遇到了冲突,因为已经存在一个同名的网络。
解决办法:
- 停止 Docker 服务:
1
| sudo systemctl stop docker
|
- 删除现有的 Docker 网络配置:
1
| sudo rm -rf /var/lib/docker/network
|
- 删除 docker0 网桥:
1
| sudo ip link delete docker0
|
- 重新启动 Docker 服务:
1
| sudo systemctl start docker
|
- 检查 Docker 服务状态:
1
| sudo systemctl status docker
|
2.ubuntu 容器无法更新
有时候在ubuntu
容器中执行apt upgrade
时,无法更新,可能是因为dns
的原因,只需要在创建容器实例时手动设置下dns
即可:
1
| docker run -it --name=test-ubuntu --dns=8.8.8.8 --dns=8.8.4.4 ubuntu
|