[英]Run an additional script after django server is started
我有一個通過 docker-compose 運行的簡單 Django API,我想在服務器啟動后運行腳本bot.py
我如何使用 docker 做到這一點?
我的Dockerfile
FROM python:3.8
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
COPY . /code/
和docker-compose.yml
:
version: '3'
services:
web:
build: .
command: bash -c 'python3 network/manage.py makemigrations &&
python3 network/manage.py migrate &&
python3 network/manage.py runserver 0.0.0.0:8000'
volumes:
- .:/code
ports:
- "8000:8000"
我試圖添加CMD [ "python", "./bot_new/bot.py" ]
但它實際上不起作用
您可以按照本教程在 Django 命令中轉換腳本,然后在應用程序准備就緒后在主應用程序中執行命令,如下所示:
from django.core.management import call_command
from django import apps
class MyAppConfig(apps.AppConfig):
name = 'myapp'
def ready(self):
call_command('bot')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.