易商讯
当前位置: 首页 » 网络 » 科技 » 正文

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

放大字体  缩小字体 发布日期:2021-05-21 19:48:51
导读

卷是用于持久化由Docker容器生成和使用的数据的首选机制。尽管绑定安装取决于主机的目录结构和操作系统,但是卷完全由Docker管理。具有卷的单个Docker组合服务如下所示:version: "3.9"services: frontend: image: node:lts volumes: - myapp:/home/node/appvolumes:myapp:在第一次调用时docker-compose up,将创建该卷。在

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

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

 
(文/TechWeb编译)
免责声明
• 
本文云计算核心技术Docker教程:在docker-compose中使用卷链接:http://www.esxun.cn/internet/11481.html 。本文仅代表作者个人观点,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们,我们将在24小时内处理完毕。如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
 

Copyright © www.esxun.cn 易商讯ALL Right Reserved


冀ICP备2023038169号-3