Docker中的Django shell模式

Jus*_* Li 11 python django shell docker docker-compose

我正在学习如何使用这个官方教程在docker中开发Django应用程序:https://docs.docker.com/compose/django/

我已经成功完成了教程,并且

docker-compose run web django-admin.py startproject composeexample .创建图像 docker-compose up运行应用程序

问题是:

我经常用python manage.py shellshell模式运行Django,但我不知道如何用docker实现它.

anm*_*esh 20

我使用这个命令(当与 compose 一起运行时)

docker-compose run <service_name> python manage.py shell   
Run Code Online (Sandbox Code Playgroud)

<service name>docker 服务的名称在哪里(在 docker-compose.yml 中)。

所以,在你的情况下,命令将是

docker-compose run web python manage.py shell   
Run Code Online (Sandbox Code Playgroud)

https://docs.docker.com/compose/reference/run/

使用 Dockerfile 运行时

docker exec -it <container_id> python manage.py shell
Run Code Online (Sandbox Code Playgroud)


Jan*_*lli 5

  1. 运行docker exec -it --user desired_user your_container bash
    运行此命令的效果与运行ssh到远程服务器的效果类似-运行此命令后,您将位于容器的bash终端内。您将能够运行所有Django的manage.py命令。
  2. 在容器内运行 python manage.py shell