初学者Docker-Compose&Django

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

创build一个Django项目

要创build一个新的django项目,它声明你应该运行下面这行代码:

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

我不明白的是为什么我们应该在docker-compose run的上下文中运行这个命令。 它仍然在我们的本地机器上创build文件夹。 那么为什么我们要通过docker-compose来做到这一点?

Docker的重点在于可重复性。 请注意,这不是执行本地机器上的django-admin.py(或者是本地机器上的Python版本)。 而是在前面的步骤中构build的容器中的二进制文件。

通过执行该命令,通过“容器”中的任何人都可以运行完全相同版本的二进制文件和库。 从而消除“它在我的机器上工作”的问题。

当然,在这个例子中(为了简单起见),容器是在你的机器被使用之前build立的。 在现实世界的情况下,您可以使用存储库共享生成的容器,以便团队中的每个人都可以使用它。