ato*_*era 4 python django docker docker-compose
我在开发时使用Docker.我注意到我无法使用docker-compose up命令启动dev服务器,但可以使用docker-compose run
这是我的Dockerfile:
FROM python:3.6
WORKDIR /opt/lib
RUN pip install --upgrade pip
COPY requirements.txt ./
RUN pip install -r requirements.txt
WORKDIR /opt/web
Run Code Online (Sandbox Code Playgroud)
这是docker-compose.yaml
version: '2'
services:
web:
build: ./web/
working_dir: /opt/web
ports:
- "3000:3000"
volumes:
- ./web:/opt/web
user: 1000:1000
depends_on:
- database
env_file: env
command: python manage.py runserver 0.0.0.0:3000
database:
image: mdillon/postgis:9.6
ports:
- "5432:5432"
volumes:
- ./database/data:/var/lib/postgresql/data
Run Code Online (Sandbox Code Playgroud)
现在,如果我运行docker-compose up,只启动数据库:

如果我将docker-compose.yml> services> web>命令更改为/usr/local/bin/gunicorn project.wsgi:application -w 4 -b :3000它也可以正常工作,但我需要在文件更改时自动重新启动

我使用Docker for MacOS Version 18.03.1-ce-mac65 (24312),
Django==1.10
我试图将其重置为出厂设置,这没有帮助.
你能帮帮我吗?
编辑1:
其他manage.py命令,如迁移,工作正常
的./manage.py runserver需要来分配伪TTY.您可以通过这种方式将其传递给docker-compose.yml
services:
web:
tty: true
command: ./manage.py runserver 0:3000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
467 次 |
| 最近记录: |