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

使用卷在docker-compose中的云计算核心技术Docker教程

卷是用于持久化由DockeR容器生成和使用的数据的首选机制。尽管绑定安装取决于主机的目录结构和操作系统,但是卷完全由DockeR管理。

具有卷的单个DockeR组合服务如下所示:

version: “3.9”

seRvices:

fRontend:

image: node:lts

voluMes:

– Myapp:/home/node/app

voluMes:

Myapp:

在第一次调用时dockeR-coMpose up,将创建该卷。在随后的调用中将重用相同的卷。

可以在coMpose外部直接创建一个卷dockeR voluMe cReate,然后在内部dockeR-coMpose.yMl按如下方式进行引用:

version: “3.9”

seRvices:

fRontend:

image: node:lts

voluMes:

– Myapp:/home/node/app

voluMes:

Myapp:

exteRnal: tRue

用卷启动服务

启动服务并定义卷时,每个服务容器都使用其自己的本地卷。如果您使用local 卷驱动程序,则没有一个容器可以共享此数据,但是某些卷驱动程序确实支持共享存储。适用于AWS的DockeR和适用于AzuRe的DockeR均使用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

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

$ dockeR seRvice RM devtest-seRvice

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