我想用docker-compose创建两个Docker容器,一个用于数据库(Mongo),另一个用于Web(Django)。
以下是我的文件:
docker-compose.yml
version: '3'
services:
db:
image: mongo
command: mongod
web:
build: code/
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
代码/Dockerfile
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY cleverInvestWeb/ /code/
在目录code/cleverInvestWeb/中,有我的Django的manage.py文件。
当我运行
docker-compose up
时,它抛出以下错误:web_1 | python: can't open file 'manage.py': [Errno 2] No such file or directory
当我通过Docker本身启动容器时,使用
docker exec -it dockerdiplom_web bash
并在那里执行ls
命令,它会显示manage.py
文件。你有没有想法为什么docker-compose在启动时找不到我的文件?
volumes:
,它是否能正常工作? 如果您使用和不使用该声明运行docker-compose run web sh
,您会在正在运行的容器内看到什么? - David Maze