我正在尝试对基本的Django应用程序进行docker化,但是无法安装该卷。
Dockerfile:
FROM python:3.7.4-alpine
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
docker-compose.yml:
version: '3.7'
services:
backend:
build: ./backend
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ../backend-code:/code
错误消息:
Building backend
Step 1/7 : FROM python:3.7.4-alpine
---> 39fb80313465
Step 2/7 : ENV PYTHONUNBUFFERED 1
---> Using cache
---> 6b971cbdc65e
Step 3/7 : RUN mkdir /code
---> Using cache
---> 598a375cf3c6
Step 4/7 : WORKDIR /code
---> Using cache
---> a222aaeaf660
Step 5/7 : COPY requirements.txt /code/
ERROR: Service 'backend' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder565677268/requirements.txt: no such file or directory
我已通过以下方式验证:
winpty docker run --rm -it 123456 sh
该/ code文件夹为空。我也尝试为目标使用不同的文件夹名称,但是它们不会出现在容器内。我什至用不存在的卷目录(-../nosuchdirectory:/code)进行了测试,而docker-compose没有给出任何错误。
文件夹结构:
.
├── docker
| ├── docker-compose.yml
| └── backend
| └── Dockerfile
├── backend-code
| ├── requirements.txt
| ├── [django files]
我正在Windows 10上运行代码。 Docker Desktop社区2.1.0.3稳定。 驱动器已共享,并且“ docker run --rm -v c:/ Users:/ data alpine ls / data”起作用。
答案 0 :(得分:0)
错误:服务“后端”无法构建:COPY失败:stat /var/lib/docker/tmp/docker-builder565677268/requirements.txt:无此类文件或目录
这是您遇到的错误。在此行失败
COPY requirements.txt /code/
将其更改为
COPY ../../backend-code/requirements.txt /code/
或将requirements.txt移至后端目录
.
├── docker
| ├── docker-compose.yml
| └── backend
| └── Dockerfile
--- requirements.txt <--
├── backend-code
| ├── [django files]
并使用
COPY ./requirements.txt /code/