互联网爱好者创业的站长之家 – 南方站长网
您的位置:首页 >业界 >

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

时间:2021-05-21 18:48:22 | 来源:TechWeb

原标题:云计算核心技术Docker教程:在docker-compose中使用卷

卷是用于持久化由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

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

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如有侵权行为,请第一时间联系我们修改或删除,多谢。

猜你喜欢