我在运行
docker build
时遇到意外错误,我说 unexpected 因为我已经有一段时间没有更改我的 Dockerfile
了,两周前最后一次它工作得很好,但现在我出现以下错误:
在网桥上创建端点optimistic_spence失败:添加主机失败(veth9fc3a03)<=>沙箱(veth15abfd6)对接口:不支持操作
如果有任何帮助:
docker ps
sudo systemctl status docker
)docker build -t user/repo:tag .
Dockerfile
看起来像:
FROM alpine:3.4
LABEL version="current version"
LABEL description="A nice description."
LABEL maintainer="[email protected]"
RUN apk update && apk add \
gcc \
g++ \
make \
git \
&& git clone https://gitlab.com/user/repo.git \
&& cd repo \
&& make \
&& cp program /bin \
&& rm -r /repo \
&& apk del g++ make git
WORKDIR /tmp
ENTRYPOINT ["program"]
有人明白发生了什么事吗?谢谢!
编辑 与
--network
选项结合使用时,错误会稍有变化,但并不能解决问题。例如,--network=host
给出以下内容:
获取http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
错误:http://dl-cdn.alpinelinux.org/alpine/v3.4/main:临时错误(稍后重试)
警告:忽略 APKINDEX.167438ca.tar.gz:没有这样的文件或目录
获取http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
错误:http://dl-cdn.alpinelinux.org/alpine/v3.4/community:临时错误(稍后重试)
警告:忽略 APKINDEX.a2e6dac0.tar.gz:没有这样的文件或目录 2 个错误; 11 种不同的套餐可供选择
命令 '/bin/sh -c apk update && apk add gcc g++ make git && git clone https://gitlab.com/user/repo.git && cd repo && make && cp 程序 /bin && rm - r /repo && apk del g++ make git' 返回非零代码:2
有同样的错误,
systemctl restart docker
也没有修剪图像和系统,我最终重新启动了我的计算机,这似乎已经解决了问题。
看起来任何
docker network bridge
都发生了问题,并且它不允许您创建相同的内容,因为它是“僵尸”。
尝试以下步骤:
docker network prune
,如果不起作用,请尝试:docker system prune
<-- Careful, this also will purge your named volumes contents, i.e, volumes that are not assigned to a container. So, if you have volumes assigned to a container, you should have to re-build/create containers./etc/init.d/docker restart
告诉我发生了什么,让我们看看,实际上,如果它不能解决您的问题,我需要更多有关您的问题的信息。
只是为了添加可能的原因。对于我(可能还有@testix)来说,这是因为我进行了系统升级(archlinux),所以我的内核模块得到了升级,但我仍在运行旧内核,因此无法加载模块。 您可以尝试对随机模块进行 modprobe :
modprobe vcan
modprobe: FATAL: Module vcan not found in directory /lib/modules/6.2.7-arch1-1
这意味着您必须重新启动(或者使用
--network
,如果您可以逃脱的话)。
我遇到过两次这个问题,解决方法都是一样的。我发帖是为了对某人有任何帮助:
对于那些在 Linux 中使用 systemd 的人来说,systemctl restart 不适合我。我必须停止并启动 docker 才能使其工作。之后,我可以再次登录并拉取图像。