背景信息
使用限制
swarm 集群只支持 compose V1 和 compose V2 版本的编排模板;因此,在使用编排模板创建应用时,请选择 compose V1 或 compose V2 版本的模板。如果您选择了 compose V3 版本的模板,系统会报错。
说明
在编排模板列表页面,compose V3 版本的模板标注有 composev3 字样。
操作步骤
- 登录容器服务管理控制台。
- 在 Swarm 菜单下,单击左侧导航中的应用。
- 选择目标集群,单击右上角的创建应用。
- 设置应用的基本信息。
- 应用名称:所创建应用的名称。名称可以包含 1~64 个字符,包括数字、英文字符和连字符(-),且不能以连字符开头。
- 应用版本:所创建应用的版本。默认为 1.0。
- 部署集群:所创建应用将要部署到的集群。
- 默认更新策略:应用更新的方式,您可以选择标准发布或 蓝绿发布,参见发布策略说明。
- 应用描述:应用信息。可以不填写。该信息不能超过 1,024 个字符。该信息将显示在应用列表页面。
- 检查最新 Docker 镜像:选中该选项后,表示当镜像 Tag 不变的情况下,也会去仓库拉取最新的镜像。
为了提高效率,容器服务会对镜像进行缓存。部署时,如果发现镜像 Tag 与本地缓存的一致,则会直接复用而不重新拉取。所以,如果您基于上层业务便利性等因素考虑,在做代码和镜像变更时没有同步修改 Tag ,就会导致部署时还是使用本地缓存内旧版本镜像。而勾选该选项后,会忽略缓存,每次部署时重新拉取镜像,确保使用的始终是最新的镜像和代码。
[font=PingFangSC, "]单击使用镜像创建 。
单击使用镜像创建。根据您的需要设置以下参数。基本配置。
- 设置镜像名称和镜像版本。
您可以选择容器服务提供的镜像(单击选择镜像。单击您所需的镜像并单击确定),也可以直接填写自己的镜像地址,格式是domainname/namespace/imagename:tag。容器服务会默认使用镜像的最新版本。如果您需要使用镜像的其它版本,单击选择镜像版本,单击所需版本并单击确定。 - 设置容器数量。
- 设置应用的网络模式。容器服务目前支持默认和 host 网络模式。默认为 bridge 网络模式,host 网络模式允许容器使用 ECS 实例的网络堆栈信息。具体请参见 Docker container networking。
- 设置Restart。
默认为 Always,不管退出状态码是什么,始终重启容器。当指定always时,docker daemon 将无限次数地重启容器。不管容器当时的状态如何,容器也会在 daemon 启动时尝试重启。取消勾选 Always,重启策略是 no,表示容器退出时不自动重启。
b. 网络配置。
设置端口映射。为主机和容器指定端口映射,以及网络协议(TCP/UDP)。
用于容器和主机间路由,是简单路由配置和负载均衡路由配置的前置条件,容器通过设置好的端口映射,对外提供服务。
简单路由配置。集群会自动创建 acsrouting 应用,包含了路由服务,即 routing,提供简单路由的功能,每个节点都会部署该服务的一个实例。某个节点内,由 acsrouting_routing_index 容器实现集群内的路由转发,用来路由 HTTP 服务或者 HTTPS 服务。请参见简单路由(支持 HTTP/HTTPS)。
说明
暴露 HTTP/HTTPS 服务时,您可以不配置具体的主机端口,可以使用 overlay 网络或者 VPC 网络来直接访问容器的端口。
负载均衡路由配置。预先设置好端口映射,然后再配置 container_port 和 $scheme://$[slb_name|slb_id]:$slb_front_port 的映射。关于负载均衡标签的具体用法,请参见lb。
配置该项参数时,由您自主控制路由的访问路径,包括 SLb 前端端口 > 后端主机端口 > 容器端口 这一整条路由映射。
配置数据卷。
选择新建一个数据卷。输入主机路径或者数据卷名,输入容器路径,设置数据卷权限 RW 或 RO。参见 volume。或选择 volumes_from。填写其他服务或容器的名称和权限参数,如 service_name:ro,如果不指定访问权限,默认是 rw 权限,具体参见 volumes_from。设置后,可成功授权该容器使用其他服务或容器的数据卷。
设置环境变量。支持 array、 dictionary 和 boolean 等形式,具体参见 环境变量。
容器配置。
设置容器的启动命令(Command 和Entrypoint)。如果设置了会覆盖镜像的默认配置。Command 用于指定容器主进程的启动命令。参见 command。
Entrypoint 用于指定容器启动程序及参数,与 command 搭配使用,可将 cmd 的内容作为参数传递给 Entrypoint。参见 entrypoint。
设置容器的资源限制(CPU 限制 和内存限制)。
为容器将使用的 CPU 和 内存设置资源上限,有关容器资源限制的详细信息,参见限制容器资源。
设置Capabilities。为容器增加或减少 Linux 的相关权限。参见 capabilities。
设置容器启动项。
设置容器的labels。
有关容器服务支持的扩展标签,参见标签概览。
调度配置
设置是否允许容器进行平滑升级。有关平滑升级的相关信息,参见rolling_updates。
设置容器的可用区调度。
您可以选择跨可用区将容器部署在两个不同的可用区;如果您选择了此选项,但是当前集群没有两个可用区或机器资源不够导致无法分布在两个可用区,容器创建会失败。您也可以选择尽量跨可用区,容器服务会尽可能地将容器部署在两个不同的可用区中;无法满足时依然可以成功创建。
如果您不进行此项设置,容器服务会默认将容器部署在同一个可用区。有关可用区调度的详细信息,参见高可用性调度。
设置容器的自动伸缩规则。有关容器自动伸缩的详细信息,参见容器自动伸缩。
设置完毕后,单击创建。
(可选)或者单击使用编排模板创建
单击使用已有编排模板 ,或者自主编写一个新模板。编排模板的内容要求符合 Docker Compose 的格式。
选择一个模板并单击选择。
编辑编排模板。您可以根据自己的需要编辑编排模板。您可以直接在编排模板中进行修改,或者在页面右侧选择需要修改的服务,单击 编辑进行修改或者单击 删除删除所选的服务。
此外,您还可以单击服务列表下面的 新增服务添加服务。选择你所需要的镜像,进行参数设置并单击 确定。
设置完毕后,单击创建并部署。