Python 初学者Docker Compose和Django

Python 初学者Docker Compose和Django,python,django,docker,Python,Django,Docker,我正在阅读文档,对标题下的第一个代码示例有一个问题: 创建Django项目 要创建一个新的django项目,它声明您应该运行以下代码行: docker-compose run web django-admin.py startproject composeexample . 我不理解的是为什么我们应该在docker compose run的上下文中运行这个命令。它仍在本地计算机上创建文件夹。那么,我们为什么要通过docker compose来实现这一点呢?docker的要点是可重复性。注意,在

我正在阅读文档,对标题下的第一个代码示例有一个问题:

创建Django项目

要创建一个新的django项目,它声明您应该运行以下代码行:

docker-compose run web django-admin.py startproject composeexample .

我不理解的是为什么我们应该在docker compose run的上下文中运行这个命令。它仍在本地计算机上创建文件夹。那么,我们为什么要通过docker compose来实现这一点呢?

docker的要点是可重复性。注意,在本地机器上执行的不是django-admin.py,也不是本地机器上的Python版本。而是在前面步骤中构建的容器中的二进制文件

通过通过“web”容器执行命令,任何使用该容器的人都可以运行完全相同版本的二进制文件和库。因此,在我的机器出现问题的情况下,删除它的工作原理


当然,为了简单起见,在这个示例中,容器是在机器使用之前构建的;在现实世界中,您应该使用存储库共享生成的容器,以便团队中的每个人都可以使用它。

我的问题是,使用正确的django代码构建一个映像,并按原样使用该映像来创建容器,而不是从修改过的容器中构建映像,这难道不是更有意义吗?我认为这被描述为Docker反模式。