你只需要登录到正在运行的docker容器并运行命令。
- 建立你的堆栈:
docker-compose build -f path/to/docker-compose.yml
- 启动堆栈:
docker-compose up -f path/to/docker-compose.yml
- 显示docker正在运行的容器:
docker ps
ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES3fcc49196a84 ex_nginx "nginx -g 'daemon off" 3 days ago Up 32 seconds 0.0.0.0:80->80/tcp, 443/tcp ex_nginx_166175bfd6ae6 ex_webapp "/docker-entrypoint.s" 3 days ago Up 32 seconds 0.0.0.0:32768->8000/tcp ex_webapp_1# postgres docker container ...
获取你的django应用程序的容器ID并登录:
docker exec -t -i 66175bfd6ae6 bash
现在你已登录,然后转到正确的文件夹:
cd path/to/django_app
现在,每次编辑模型时,都在容器中运行:
python manage.py makemigrations和python manage.py migrate
我还建议你为
django docker容器文件使用
docker-entrypoint自动运行:
- collecstatic
- migrate
- runserver or start it with gunicorn or uWSGI
这是一个示例
(docker-entrypoint.sh):
#!/bin/bash# Collect static filesecho "Collect static files"python manage.py collectstatic --noinput# Apply database migrationsecho "Apply database migrations"python manage.py migrate# Start serverecho "Starting server"python manage.py runserver 0.0.0.0:8000



