首页 > 解决方案 > 复制命令失败

问题描述

在过去的 3 天里一直坚持这一点。我正在 docker 中构建图像,由于找不到正确的目录,复制命令失败。

FROM python:3.6.7-alpine

WORKDIR /usr/src/app

COPY ./requirements.txt /usr/src/app/requirements.txt
RUN pip3 install -r requirements.txt

COPY . /usr/src/app

CMD python3 manage.py run -h 0.0.0.0

由这个 docker-dev 文件运行:

version: '3.7'

services:

  users:
    build:
      context: ./services/users
      dockerfile: Dockerfile-dev
  volumes:
    - './services/users:/usr/src/app'
  ports:
    - 5001:5000
  environment:
    - FLASK_APP=project/__init__.py
    - FLASK_ENV=development

并收到此错误:

Building users
Step 1/6 : FROM python:3.6.7-alpine
 ---> cb04a359db13
Step 2/6 : WORKDIR /usr/src/app
 ---> Using cache
 ---> 06bb39a49444
Step 3/6 : COPY ./requirements.txt /usr/src/app/requirements.txt
ERROR: Service 'users' failed to build: COPY failed: stat /var/snap/docker/common/var-lib-docker/tmp/docker-builder353668631/requirements.txt: no such file or directory

我什至不知道从哪里开始调试这个。当我尝试访问该目录时,它给了我权限错误。因此,我尝试使用 sudo 运行该命令,但没有帮助。有什么想法吗 ?

标签: dockerdockerfile

解决方案


回复有点晚了,但是第二个 COPY 命令COPY . /usr/src/app替换了由RUN pip3 install -r requirements.txt.

尝试

FROM python:3.6.7-alpine

WORKDIR /usr/src/app

# install in temp directory
RUN mkdir /dependencies

COPY ./requirements.txt /dependencies/requirements.txt
RUN cd /dependencies && pip3 install -r requirements.txt

COPY . /usr/src/app

# copy generated dependencies
RUN cp -r /dependencies/* /usr/src/app/

CMD python3 manage.py run -h 0.0.0.0

推荐阅读