gpt4 book ai didi

playframework - 使用 docker 部署版本化应用程序的正确方法是什么?

转载 作者:IT老高 更新时间:2023-10-28 21:39:23 24 4
gpt4 key购买 nike

我有一个 Play Framework 2.3 应用程序,我想通过 docker 部署(并不断更新)。如果我发布了应用程序的新版本,我应该每次都构建一个新的 docker 镜像还是构建一个通过 git pull/apt-get 下载并安装我的应用程序的单个 docker 镜像?

到目前为止,我看到的 Dockerfiles 通过 apt-get(例如 postgres 镜像)安装应用程序,这意味着部署我的应用程序的新版本我只需要重新启动容器,该容器将从私有(private) . deb 存储库。回滚会很麻烦,因为我不得不急于创建一个新的 docker 来指向特定的包版本。

另一种方法是为每个应用程序版本创建一个新镜像。然而,这是使用 docker 的“正确”方式吗?

最佳答案

您应该每次都构建一个新的 docker 镜像,并使用标签的版本部分(例如 :latest:2.3)来帮助用户选择正确的:

$ docker build -t pavel987/playframework:2.3 .
....
# docker builds
$ docker tag pavel987/playframework:2.3 pavel987/playframework:latest
# Assuming your Docker Hub user name is pavel987
$ docker push pavel987/playframework

使用版本号和 latest 标记可让您的用户自动使用最新版本(因为 CLI 将默认使用 latest)并仍然让他们选择一致的如果他们不希望事情发生变化(例如 :2.3)。所以在他们自己的 Dockerfiles 中,如果他们想使用最新版本,他们可以使用 FROM pavel987/playframework:latest,或者如果他们想固定他们的,则可以使用 FROM pavel987/playframework:2.3根据。

这一切都假设您希望您的主要发行版是一个 Docker 镜像。

关于playframework - 使用 docker 部署版本化应用程序的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25186174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com