我一直在本地Ubuntu服务器22.4上出色地运行和更新Redmine/Nginx。我最近升级了操作系统,然后尝试升级到最新版本的redmine。
我的Dockerfile基本上得到了最新的Redmine容器,然后在几个扩展中进行复制。
FROM redmine:latest
COPY --chown=redmine:redmine ./auth_source_ldap.rb ./app/models/
ADD --chown=redmine:redmine ./redmine_dmsf ./plugins/redmine_dmsf
ADD --chown=redmine:redmine ./redmine_more_previews ./plugins/redmine_more_previews
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
在docker构建结束时,我在创建自定义映像时遇到了一个失败:
Step 6/6 : RUN apt-get install -y xapian-omega ruby-xapian libxapian-dev xpdf poppler-utils antiword unzip catdoc libwpd-tools libwps-tools gzip unrtf catdvidjview djview3 uuid uuid-dev xz-utils libemail-outlook-message-perl nano pandoc
---> Running in b1464eeddd71
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镜像ls返回
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 1b8dcc50a795 29 minutes ago 616MB
redmine latest bf1de550a9ed 2 weeks ago 595MB
根据一篇旧文章中的建议,我尝试通过运行以下程序来隔离端点的创建:
brctl addif veth9feff58 docker0
只返回:
interface docker0 does not exist!
我目前的假设是,在升级期间;docker0";被覆盖了,但我不知道是哪一个。
我试过卸载和重新安装Docker,但结果是一样的。
此外,旧容器将不再启动。
=============编辑/附加信息=============
在重新安装helloworld后,它成功运行了一次,但当我再次尝试构建时,它也出现了同样的问题。我的docker服务现在看起来是这样的:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service containerd.service
Wants=network-online.target
Requires=docker.socket containerd.service
[Service]
Type=notify
ExecStartPre=-/usr/bin/ip link set dev docker0 down
ExecStartPre=-/usr/sbin/brctl delbr docker0
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
docker containers
Delegate=yes
KillMode=process
OOMScoreAdjust=-500
[Install]
WantedBy=multi-user.target
你能告诉我们这个文件是什么样子的吗:
/usr/lib/systemd/system/docker.service
通常情况下,它看起来是这样的:
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target
Wants=docker-storage-setup.service
[Service]
Type=notify
EnvironmentFile=-/etc/default/docker
ExecStartPre=-/usr/bin/ip link set dev docker0 down
ExecStartPre=-/usr/sbin/brctl delbr docker0
Environment=GOTRACEBACK=crash
ExecStart=/usr/bin/docker daemon
$OPTIONS
$DOCKER_STORAGE_OPTIONS
$DOCKER_NETWORK_OPTIONS
$INSECURE_REGISTRY
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
MountFlags=slave
TimeoutStartSec=1min
[Install]
WantedBy=multi-user.target
请验证这2行:
ExecStartPre=-/usr/bin/ip link set dev docker0 down
ExecStartPre=-/usr/sbin/brctl delbr docker0
如果没有,请试着改变你身边的不同线条;
systemctl daemon-reload && systemctl restart docker
希望这能帮助你,并希望你通知我是否可以去
虽然我不确定根本原因,但似乎是某些更新的包导致了冲突。(回想一下,我刚刚升级了Ubuntu 22.04 LTS(
我找到了重新安装大部分软件包的步骤,问题就解决了。我不是大师,其中一些步骤可能并不相关。如果我有时间的话,在各种步骤后重新启动和测试会很好。。。
如果它对其他人有帮助,这些是我用来清理系统包的步骤:
rm /var/lib/apt/lists/lock
rm /var/lib/dpkg/lock
rm /var/lib/dpkg/lock-front-end
rm /var/cache/apt/archives/lock
dpkg --configure -a
apt clean
apt update --fix-missing
apt install -f
dpkg --configure -a
apt upgrade
apt dist-upgrade
然后重新启动
之后,一切都恢复正常。