Tag: 分段

Docker:如何实现具有阶段性和生产性应用程序的工作stream程?

我正在通过创build一个docker图像 docker build -t target:stage -t target:latest . 这个图像被用于docker工作者设置 target: image: target:latest restart: always target-stage: image: target:stage restart: always 所以在构build图像后,我正在使用舞台图像进行一些testing: docker-compose up -d target-stage docker-compose run –rm webdriverio wdio 这样,容器就可以build立起来,并且在舞台环境中开始testing。 如果testing通过,应用程序应该可以提高生产力: docker-compose up -d target 但是我对这个设置有一些问题/问题: 假设已经有一个目标容器正在运行(因为这是生产性的应用程序),然后我做了一些改变,想要部署新的版本,所以图像被重新构build,即使前一个图像的容器仍在运行? 有了这个,我必须停止生产性的应用程序,并运行docker组成,以获得新的在线。 在这段时间,应用程序处于脱机状态,这不是最佳的。 我怎么能阻止呢? 也许是最糟糕的事情 :假设舞台失败了。 但由于目标图像已被覆盖,所以图像有错误的应用程序(虽然它还没有在线)。 现在假设任何事情都出错了,有人必须重新启动docker-compose:现在,越野车应用程序将在最新的工作应用程序丢失时上线。 概要 我正在构build两个版本的应用程序(阶段和生产力)。 阶段版本应该上网,应该做一些testing。 如果testing通过,应用程序应该上线以获得生产环境。 如果testing失败了,生产环境就不应该改变。 我想避免(如果可能的话)。 在CI工作stream程中两次构build应用程序…