python:can';t打开文件';manage.py';:[Errno 2]撰写docker时没有此类文件或目录
我在容器中运行两个不同的应用程序python:can';t打开文件';manage.py';:[Errno 2]撰写docker时没有此类文件或目录,python,docker,flask,Python,Docker,Flask,我在容器中运行两个不同的应用程序 Django应用程序 烧瓶应用程序 德扬戈跑得很好。我将我的Flask应用程序配置如下: 这是docker-compose.yml version: '3.8' services: backend: build: context: . dockerfile: Dockerfile ports: - 8001:5000 volumes: - .:/app depends_on:
version: '3.8'
services:
backend:
build:
context: .
dockerfile: Dockerfile
ports:
- 8001:5000
volumes:
- .:/app
depends_on:
- db
db:
image: mysql:5.7.22
restart: always
environment:
MYSQL_DATABASE: main
MYSQL_USER: username
MYSQL_PASSWORD: pwd
MYSQL_ROOT_PASSWORD: pwd
volumes:
- .dbdata:/var/lib/mysql
ports:
- 33067:3306
这也是我的Dockerfile
FROM python:3.8
ENV PYTHONUNBUFFERED 1
WORKDIR /app
COPY requirements.txt /app/requirements.txt
RUN pip install -r requirements.txt
COPY . /app
CMD python main.py
问题:当我跑步的时候
docker compose up
发生以下错误
backend_1 | python: can't open file 'manage.py': [Errno 2] No such file or directory
我不知道为什么它会尝试打开
manage.py
文件,因为它是Flask而不是Django应用程序。我需要你的帮助。提前谢谢。我不知道确切的原因,但我启动了一个新的Flask应用程序(但这次是在virtualenv上),我的问题得到了解决:)我不确定这对您有何作用,但我通过将我的docker-compose.yml更改为一个命令参数来解决了这个问题,所以看起来是这样的
version: '3.8'
services:
backend:
build:
context: .
dockerfile: Dockerfile
command: 'python main.py' << Updated Line >>
ports:
- 8001:5000
volumes:
- .:/app
depends_on:
- db
db:
image: mysql:5.7.22
restart: always
environment:
MYSQL_DATABASE: main
MYSQL_USER: username
MYSQL_PASSWORD: pwd
MYSQL_ROOT_PASSWORD: pwd
volumes:
- .dbdata:/var/lib/mysql
ports:
- 33067:3306
版本:“3.8”
服务:
后端:
建造:
上下文:。
dockerfile:dockerfile
命令:“python main.py”>
端口:
- 8001:5000
卷数:
-.:/app
取决于:
-分贝
db:
图片:mysql:5.7.22
重新启动:始终
环境:
MYSQL_数据库:main
MYSQL\u用户:用户名
密码:pwd
MYSQL\u ROOT\u密码:pwd
卷数:
-.dbdata:/var/lib/mysql
端口:
- 33067:3306
manage.py可能是您项目的根目录(目录与requirements.txt相同)。您是否尝试将COPY manage.py/app/manage.py
添加到dockerfile中?这是flask还是django?@tendousbmanage.py
位于django项目,一个与flask应用程序截然不同的文件夹