【问题标题】:Deploy Django app with Docker使用 Docker 部署 Django 应用
【发布时间】:2016-06-05 22:50:35
【问题描述】:

我正在尝试通过 docker 部署 Django 应用程序,首先是本地部署,然后部署到云服务器。在尝试此操作之前,我找不到最初问题的答案:如果我运行 docker-machine create,我猜这应该从我的 virtualenv 中运行,对吧?

然后这将获取我所有特定的应用程序依赖项,并开始构建证书以放入容器中?如果不是,请另外解释..

【问题讨论】:

    标签: django deployment docker


    【解决方案1】:

    是的,你是对的。

    如果您想通过 docker 部署 django 应用程序,我会尽力帮助您。

    1. 首先,您需要在本地机器上设置 docker 机器。请参阅 instruction。默认情况下,将使用的驱动程序是--driver virtualbox default

    2. 列出您的应用程序的具体依赖关系图像类型。前任: 你需要 nginx、postgres、uwsgi,或者你需要获取图像然后 修改了该图像,您可以使用 dockerfile (its the best practice for you)。

    3. 我建议您使用 docker-compose。真的是我们的项目 很容易管理。您必须定义所有需要的图像 在 docker-compose 文件中为您的应用程序 Please read this reference

    在您完成应用程序的开发后,您想要在生产服务器(云)中进行部署,您只需复制所有项目,然后运行您的 docker-compose。所有图像依赖项将自动拉入云端。

    作为参考,你可以看到这个项目(这是我开发的一个开源项目。)在那个项目上,我使用make file来管理docker-compose命令,它很容易管理。

    1. dockerfile 的一个例子
    2. docker-compose.yml 的示例
    3. Makefile 的示例

    希望这会对您有所帮助。

    【讨论】:

    • 非常详细和赞赏的答案 - 我会尝试一下并发布任何障碍/经验