您只需要登录到正在运行的docker容器并运行命令。
显示docker正在运行的容器: docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3fcc49196a84 ex_Nginx “Nginx -g ‘daemon off” 3 days ago Up 32 seconds 0.0.0.0:80->80/tcp, 443/tcp ex_Nginx_1 66175bfd6ae6 ex_webapp “/docker-entrypoint.s” 3 days ago Up 32 seconds 0.0.0.0:32768->8000/tcp ex_webapp_1
docker exec -t -i 66175bfd6ae6 bash
现在您已登录,然后转到正确的文件夹: cd path/to/django_app
现在,每次编辑模型时,都在容器中运行:python manage.py makemigrations
和python manage.py migrate
我还建议您对django docker容器文件使用docker-entrypoint自动运行:
这是一个示例(docker-entrypoint.sh
):
#!/bin/bash
# Collect static files
echo "Collect static files"
python manage.py collectstatic --noinput
# Apply database migrations
echo "Apply database migrations"
python manage.py migrate
# Start server
echo "Starting server"
python manage.py runserver 0.0.0.0:8000