Aar*_*shi 2 python docker dockerfile
我是 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
Run Code Online (Sandbox Code Playgroud)
这是我的 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"]
Run Code Online (Sandbox Code Playgroud)
这是我的 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
Run Code Online (Sandbox Code Playgroud)
我看到的几个问题:
ToDoApp/ToDoApp,它甚至不会创建子目录。生成的 Dockerfile 如下所示:
FROM python:3
#set envionment variables
ENV PYTHONUNBUFFERED 1
# run this before copying requirements for cache efficiency
RUN pip install --upgrade pip
#set work directory early so remaining paths can be relative
WORKDIR /ToDoApp
# Adding requirements file to current directory
# just this file first to cache the pip install step when code changes
COPY requirements.txt .
#install dependencies
RUN pip install -r requirements.txt
# copy code itself from context to image
COPY . .
# run from working directory, and separate args in the json syntax
CMD ["python", "./manage.py", "runserver", "0.0.0.0:8000"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10503 次 |
| 最近记录: |