我确实有一个(Python Flask)应用程序,我想使用 GitLab CI 和 Docker 将它部署到我的 VPS。
在我的服务器上,我想拥有我的应用程序的生产版本和暂存版本。它们都需要 MongoDB 连接。
我的计划是在 GitLab 上自动构建应用程序并将其推送到 GitLab 的 Docker Registry。如果我想将应用程序部署到登台或生产中,我会执行 docker pull
, docker rm
和 docker run
.
计划是将配置(例如 secret_key
)存储在 .production.env
中(和 .staging.env
)并使用 docker run --env-file ./env.list
将其传递给应用程序
我已经在我的服务器上安装了 MongoDB,应用程序的两个环境都应使用相同的 MongoDB 实例,但数据库名称不同(在 .env
中配置)。
这是部署我的应用程序的最佳实践吗?你有什么建议?谢谢!
最佳答案
这是我的配置,在不同的组织和项目规模中运行良好:
build :
部署:
.env
文件。 docker-compose 文件可以引用各个环境变量。 docker-compose up
(对于较小的应用程序)或将 docker 堆栈重新部署到 swarm 中(对于较大的应用程序)。 如果你喜欢它,你可以通过 Docker Machine 执行第 3 步。然而,我觉得它的好处并不值得在我的案例中使用。
关于docker - 使用 Docker 在我的 VPS 上部署我的应用程序的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56686276/