Docker镜像构建在文件添加时失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker镜像构建在文件添加时失败相关的知识,希望对你有一定的参考价值。

这是我的Dockerfile

FROM debian:latest

LABEL MAINTAINER DINESH

LABEL version="1.0"

LABEL description="First image with Dockerfile & DINESH."

RUN apt-get clean

RUN apt-get update

RUN apt-get install -qy git

RUN apt-get install -qy locales

RUN apt-get install -qy nano

RUN apt-get install -qy tmux

RUN apt-get install -qy wget

RUN apt-get install -qy python3

RUN apt-get install -qy python3-psycopg2

RUN apt-get install -qy python3-pystache

RUN apt-get install -qy python3-yaml

RUN apt-get -qy autoremove

# ** ERROR IS BELOW **
ADD .bashrc /root/.bashrc

ADD .profile /root/.profile

ADD app /app

RUN locale-gen C.UTF-8 && /usr/sbin/update-locale LANG=C.UTF-8

ENV PYTHONIOENCODING UTF-8

ENV PYTHONPATH /app/

[当我运行此命令docker build -t myimage .时,下面给出了错误。

"Step 17/20 : ADD app /app
ADD failed: stat /var/lib/docker/tmp/docker-builder687980062/.bashrc: no such file or directory"

我已授予上述授予路径的许可,但尚未解决。请让我知道如何解决。

答案

首先,请确保文件位于正确的目录中。错误提示no such file or directory

[请代替添加尝试使用COPY为我工作

COPY .bashrc /root/ 
COPY .profile /root/

也使文件位于源位置,并且目的地正确。

也按照最佳实践,您可以合并行并执行单个命令

RUN apt-get update -yq \
    && apt-get install -y python3-dev build-essential -yq \
    && apt-get install curl -yq \
    && pip install -r requirements.txt \
    && apt-get purge -y --auto-remove gcc python3-dev build-essential
另一答案

更改为:

ADD .bashrc /root/ 
ADD .profile /root/
ADD app /

来自文档:ADD src ... dest

目标是绝对路径或相对路径 到WORKDIR,将源复制到其中 目标容器。

以上是关于Docker镜像构建在文件添加时失败的主要内容,如果未能解决你的问题,请参考以下文章

Docker镜像

docker--Dockerfile

docker命令总结

Docker镜像管理基础与基于容器的镜像制作示例

Docker 镜像:基于 Ubuntu 的基础镜像中文问题解决

Docker容器之镜像管理端口映射容器互联