【问题标题】:failed to update store for object type *libnetwork.endpointCnt: Key not found in store无法更新对象类型 *libnetwork.endpointCnt 的存储:在存储中找不到密钥
【发布时间】:2019-12-26 19:06:33
【问题描述】:

我在构建创建的 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"]

【问题讨论】:

    标签: docker docker-build


    【解决方案1】:

    重启 docker 守护进程会修复它。

    对于 ubuntu:

    sudo service docker restart

    【讨论】:

    • 差点心脏病发作
    【解决方案2】:

    您的命令执行顺序错误,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"]
    

    使用标签 :latest 将带来最新的稳定版本。其他三个 RUN 命令是安装 python 包和依赖项。现在,使用 COPY,与 Dockerfile 位于同一文件夹中的所有内容都将位于 app 文件夹中,然后是 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"]
    

    【讨论】:

    • 你使用的是哪个 Dockerfile?
    • 根据我的回答,您使用的是哪个 Dockerfile?
    • FROM ubuntu:16.04 RUN apt-get update RUN mkdir /cop WORKDIR /cop RUN apt-get update FROM python:3.5 ADD requirements.txt /cop/ RUN pip install -r cop/requirements.txt添加 。 /cop CMD ["python","cop/app.py"] ...........这是使用的格式
    • 使用我的答案之一。您的脚本将无法运行,因为它有两个 FROM 的命令
    • 感谢您的帮助,我通过上面提到的方式得到了输出,并找出了错误发生的原因。这是因为我用来构建的命令格式错误。
    猜你喜欢
    • 2018-10-28
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    • 2023-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    相关资源
    最近更新 更多