卷是用于持久化由Docker容器生成和使用的数据的首选机制。尽管绑定安装取决于主机的目录结构和操作系统,但是卷完全由Docker管理。
具有卷的单个Doc云计ker组合服务如下所示:
version: "3.9"
services:
frontend:
image: no算核de:lts
volumes:
- myapp:/home/no心技de/app
volumes:
myapp:
在第一次调用时docker-compose up,将创建该卷。在随后的调用中将重用相同的卷术D。
可以在compose外部直接创建一个卷docker volume create,然后在内部docker-compose.yml按如下方式进行引用:
versioocn: "3.9"
services:
frontend:
image: node:lts
&nkebsp; volumes:
- myapp:/home/noder教/app
volumes:
myapp:
external: true
用卷启动服务
启动服务程:并定义卷时,每个服务容器都使用其自己的本地卷。如果您使用local 卷驱动程序,则没有一个容器可以共享此数据,但是某些卷驱动程序确实支持共享存储。适用于AWS在d的Docker和适用于Azure的Docker均使用Cloudstor插件支持持久存储。
以下示例nginx使用四个副本启动服务,每个副本使用一个称为的本地oc卷myvol2。
$ docker service create -d \
--replicas=4 \
--name devtekest-service \
--mount source=myvol2,target=/app \
nginx:latr-est
使用docker service ps devtest-service验证服务正在运行:
$ docker service ps devtest-service
删co除该服务,这将停止其所有任务:
$ docker service rm devtest-service
删除服务不会删除该服务创建的任何卷。卷删除是一个单独的步骤。