docker-compose - 我可以在不删除旧容器的情况下使用 docker-compose up 重新创建 Docker 容器吗?
问题描述
我正在开发 Node Js 应用程序,对于每个新版本,我想创建一个带有新图像的新 Docker(图像名称在 Docker Compose 中作为变量传递),但不删除旧的,因为我想做版本控制?
我的 Docker-Compose 文件是
version: '3'
services:
web:
build: .
image: ${IMAGE_NAME}
container_name: ${CONTAINER_NAME}
ports:
- ${PORT}:8447
我运行的命令是docker-compose up -d但这将删除我的旧容器并启动一个新容器。
解决方案
拥有多个版本的容器并不理想,但我们可以使用标记更新图像的版本。您可以使用版本号标记图像。Compose 将使用生成的名称构建和标记它,然后使用该图像创建容器。
因此,无论何时您有一个新的构建,您都会使用标签生成一个新的构建图像,并且您可以跟踪构建版本的版本。
下面是帮助如何从 Docker Compose 标记图像的链接:
如何使用 docker-compose 标记 docker 镜像
但是,如果您想使用相同的图像运行容器的多个实例,您可以使用scale
:
docker-compose up -d --scale <imageName>=5
您也可以在撰写文件本身中使用“副本”来执行此操作。
deploy:
mode: replicated
replicas: 5
推荐阅读
- reactjs - 如何更改 material-ui 选择中下拉图标(箭头)的位置?
- salesforce - Apex 中的字符串格式
- git - Gitlab CI\CD 调度管道间隔
- r - R 基线图,使用 mfrow 分别可视化所有国家
- compression - Z标准。解压后堆损坏
- python - 鱼:未知命令:pip
- sql-server - 用于在 Sharepoint 应用程序场中发送电子邮件的 SSRS:报告服务器配置管理器能否支持站点特定的电子邮件发件人?
- c++ - I cant use int as a key and bind it to pairs in map in C++ (viceversa was possible)..why?
- c# - 新的“使用”语法与长期引用的交互
- google-sheets-formula - 使用公式在 Google 表格中动态下拉