開発中にDockerを使用しています。docker-compose up
コマンドで開発サーバーを起動できないことに気づきましたが、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
これが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
ここで、実行するとdocker-compose up
、データベースのみが起動します。
しかし、docker-compose run
サーバーは正常に起動します。
docker-compose.yml> services> web>コマンドを/usr/local/bin/gunicorn project.wsgi:application -w 4 -b :3000
変更すると、正常に機能しますが、ファイルが変更されたときに自動再起動する必要があります
私はMacOS用のDockerを使用しています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
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加