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

时间:2020-06-05 11:57:38

标签: docker docker-compose dockerfile docker-machine

这是我的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"

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

2 个答案:

答案 0 :(得分:1)

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

请不要添加(ADD)尝试使用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

答案 1 :(得分:0)

更改为:

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

从文档中: ADD src ... dest

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