如何使用docker上传和部署django cookiecutter项目到heroku?

Posted

技术标签:

【中文标题】如何使用docker上传和部署django cookiecutter项目到heroku?【英文标题】:How to upload and deploy django cookiecutter project, with docker, to heroku? 【发布时间】:2018-08-05 05:42:46 【问题描述】:

我正在使用 django cookiecutter(使用 docker 和 heroku 设置)开发一个应用程序,并且已经部署它。这是我的第一个项目,所以之前没有使用 django、docker 或 heroku 的经验。我已经在 cookiecutter docs、heroku 和 docker 网站上阅读了一些内容,但我仍然不知道如何部署。

我已经下载了 heroki cli,在 heroku 上用我自己的域和一个 postgres 数据库设置了应用程序,我正计划获得爱好层以获得自动证书。所有环境变量都在 .env 文件中设置,并在我的 heoku 应用程序的 heroku 配置变量中设置。因此,就代码和设置而言,一切都应该没问题。我也在使用 git 作为版本控制。

我是否应该使用 git 或其他方式将整个项目(代码、设置、docker 文件等)上传到 heroku?我看到有一个选项可以使用 docker deploys 来部署项目at herokus website。哪个选项是正确的?

我最初的想法是我会通过 git 上传项目并运行 docker-compose -f production.yml up (在 heroku bash 中)......或者类似的东西。我不知道,请帮忙。

如果某些信息丢失或不清楚,我会尽力编辑它。

【问题讨论】:

【参考方案1】:

最好使用 git 将项目部署到 Heroku。

$ heroku login
$ heroku create your_custom_app_name
$ git add --a
$ git commit -m "My custom app deployment to heroku"
$ git push heroku master

然后在部署后。

$ heroku python manage.py migrate

【讨论】:

谢谢!现在一切正常,除了一件事。我已经使用了 django cookiecutter 的推荐设置和 ssl 重定向等等。因此,当我输入“www.examplate.com”时,我希望重定向到 https。但它重定向到“https://true”。你知道为什么会这样吗? heroku 在免费托管中不提供https,您必须为此购买付费测功机。

以上是关于如何使用docker上传和部署django cookiecutter项目到heroku?的主要内容,如果未能解决你的问题,请参考以下文章

使用docker部署node项目(一)

如何使用 Axios 将 CSRF Coo​​kie 从 React 发送到 Django Rest Framework

docker-compose部署django+nginx+uwsgi+celery+redis+mysql

使用 Nginx 和 Docker 部署 React 和 Django

使用 nginx、django、daphne 部署到 docker

在centos8使用Docker部署Django项目