无法为对象类型 *libnetwork.endpointCnt 更新存储:在存储中找不到密钥

Mat*_*han 0 docker docker-build

我在构建创建的 docker 文件时遇到了这个错误。它发生在创建工作目录(WORKDIR)的阶段

我确实尝试重新启动 docker 服务,但它也无济于事!

FROM ubuntu:16.04

RUN mkdir /app

WORKDIR /app

FROM python:3.5

RUN pip install -r app/requirements.txt

ADD . /app

CMD["python","app/hello.py"]
Run Code Online (Sandbox Code Playgroud)

小智 14

重新启动 docker deamon 将修复它。

对于 ubuntu:

sudo service docker restart


Rob*_*ves 0

您的命令执行顺序错误,ADD应该位于RUN pip之前。在图像中使用另一个FROM基本上表明您正在使用最后一个。所以你的Dockerfile应该是这样的:

FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get upgrade python3
RUN apt-get install -y python-pip python-dev build-essential
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
ENTRYPOINT ["python3"]
CMD ["app.py"]
Run Code Online (Sandbox Code Playgroud)

使用标签 :latest 将带来最新的稳定版本。另外三个RUN命令是安装 python 包和依赖项。现在,使用COPY ,与Dockerfile相同的文件夹中的所有内容都将位于应用程序文件夹中,然后WORKDIR出现,以设置容器起点。

使用Python2

FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
ENTRYPOINT ["python"]
CMD ["app.py"]
Run Code Online (Sandbox Code Playgroud)