Ubuntu系统升级后Docker构建Redmine自定义镜像失败
Docker构建Redmine镜像失败:找不到docker0网桥问题解决
问题背景
Ubuntu Server 22.04系统升级后,构建基于redmine:latest的自定义镜像时失败,报错:
failed to create endpoint laughing_ritchie on network bridge: adding interface veth9feff58 to bridge docker0 failed: could not find bridge docker0: route ip+net: no such network interface
重装Docker后hello-world能运行一次,但再次构建问题重现;旧容器也无法启动,执行brctl addif veth9feff58 docker0提示网桥不存在。查看Docker服务配置,发现启动前会删除docker0网桥。
解决方案
1. 修改Docker服务配置,移除自动删除docker0的命令
当前docker.service中的ExecStartPre命令会在Docker启动前强制删除docker0网桥,这是核心问题:
- 编辑Docker服务的自定义配置:
sudo systemctl edit docker.service
- 在打开的编辑器中添加以下内容,覆盖原有的预启动命令:
[Service] ExecStartPre=
- 重新加载systemd配置并重启Docker:
sudo systemctl daemon-reload sudo systemctl restart docker
2. 手动创建docker0网桥(若重启后未自动生成)
如果重启Docker后docker0仍未出现,手动创建:
# 创建网桥 sudo ip link add name docker0 type bridge # 分配IP地址 sudo ip addr add 172.17.0.1/16 dev docker0 # 启用网桥 sudo ip link set docker0 up
3. 清理无效镜像与资源
- 删除构建失败的无名镜像:
docker rmi 1b8dcc50a795
- 清理无用容器、镜像等资源:
docker system prune -f
4. 检查Dockerfile的拼写错误
注意到报错信息中catdvidjview是连在一起的,这是包名拼写错误,需确保Dockerfile的RUN行中包名之间有空格:
修正后的RUN行示例:
RUN apt-get install -y xapian-omega ruby-xapian libxapian-dev xpdf poppler-utils antiword unzip catdoc libwpd-tools \ libwps-tools gzip unrtf catdvi djview djview3 uuid uuid-dev xz-utils libemail-outlook-message-perl nano pandoc
5. 重新构建镜像
完成以上步骤后,重新执行构建命令即可。
内容的提问来源于stack exchange,提问作者user18330
相关产品推荐
相关产品推荐

