互联网技术 / 互联网资讯 · 2024年1月4日

通过卷启动服务的云计算核心技术教程

通过卷启动服务的云计算核心技术教程

启动服务并定义卷时,每个服务容器都会使用自己的本地卷。使用 local 卷驱动时,数据不会在容器之间共享;但某些卷驱动确实支持共享存储。对于 AWS,Docker 与 Cloudstor 插件结合实现持久存储;对于 Azure,也通过 Cloudstor 实现持久化。

以下示例演示了一个 Nginx 服务,使用四个副本启动,每个副本挂载到名为 Myvol2 的本地卷。

$ docker service create -d

–replicas=4

–name devtest-service

–mount source=Myvol2,target=/app

nginx:latest

使用 docker service ps devtest-service 验证服务是否正在运行:

$ docker service ps devtest-service

ID NAME image NODE DESIRED STATE CURRENT STATE Error PORTS

4d7oz1j85wwn devtest-service.1 nginx:latest Moby Running Running 14 seconds ago

删除该服务,这将停止其所有任务:

$ docker service rm devtest-service

删除服务不会删除该服务创建的任何卷。卷删除是一个单独的步骤。

关于服务的语法差异

Docker service create 命令不支持 -v 或 –volume 标志。将卷挂载到服务容器中时,必须使用 –mount 标志。