我对Docker还很陌生,想要使用它部署一个Django项目。但是,在构建docker-compose后,我遇到了以下错误:
错误:无法打开要求文件:[Errno 2] 没有那个文件或目录:'requirements.txt' 错误:服务“web”构建失败:命令'/bin/sh -c pip install -r requirements.txt'返回非零代码:1
可能是我在设置正确路径时搞错了,这是我的项目结构:
~/Desktop/Projects/ToDoApp
ToDoApp
settings.py
docker-compose.yml
Dockerfile
manage.py
requirements.txt
以下是我的Dockerfile
#pull official base image
FROM python:3
#set envionment variables
ENV PYTHONUNBUFFERED 1
# Adding requirements file
ADD requirements.txt ToDoApp/ToDoApp
#set work directory
WORKDIR /ToDoApp
#install dependencies
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
CMD ["python", "./ToDoApp/manage.py runserver 0.0.0.0:8000"]
这是我的docker-compose.yml文件。
version: '3'
services:
web:
build: .
command: python /ToDoApp/manage.py runserver 0.0.0.0:8000
volumes:
- .:/Desktop/Projects/ToDoApp
ports:
- "8000:8000"
environment:
- SECRET_KEY = please_change_me
requirements.txt
放在子目录ToDoApp/ToDoApp/
中,或者,如果该子目录不存在,则将其重命名为ToDoApp/ToDoApp
。 - 9769953ADD
命令使用相对目录,而WORKDIR
使用绝对目录。除非您的Docker工作目录首先是/
,否则我认为这不正确。 - 9769953WORKDIR /ToDoApp/ToDoApp
并尝试 - Jibin Mathews