当前位置: 首页 > news >正文

美国外贸网站建设域名查询站长工具

美国外贸网站建设,域名查询站长工具,福建微网站建设,军事新闻头条最新消息本文是自己的学习笔记 1、数据卷基本概念2、数据卷示例3、数据卷的权限控制4、数据卷的创建方式5、数据卷容器 1、数据卷基本概念 数据卷就是docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据做为镜像的一部分保存下来,那…

本文是自己的学习笔记


  • 1、数据卷基本概念
  • 2、数据卷示例
  • 3、数据卷的权限控制
  • 4、数据卷的创建方式
  • 5、数据卷容器


1、数据卷基本概念

数据卷就是docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据做为镜像的一部分保存下来,那么当容器删除后,数据自然也就没有了。为了能保存数据在docker中我们使用卷。简单来说,容器卷就相当于Redis中持久化方式的RDB和AOF。

卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。

特点:

  1. 数据卷可在容器之间共享或重用数据
  2. 卷中的更改可以直接生效
  3. 数据卷中的更改不会包含在镜像的更新中
  4. 数据卷的生命周期一直持续到没有容器使用它为止

使用数据卷时会建立容器目录到宿主机目录的映射。之后容器只需要在这个目录保存文件,那对应的宿主机目录也会保存这个文件,即使容器关闭宿主机依然可以在对应的目录中访问修改这些文件。

2、数据卷示例

这里给一个直接使用数据卷的示例,我们在启动一个centos时创建一个数据卷。

docker run -it -v /root/dockerfile1:/root/docker1 centosv表示创建数据卷的映射,/root/dockerfile1是机器上的地址;/root/docker1是容器中的地址。

这个指令会启动容器并创建数据卷,容器中root/docker1的地址映射到宿主机的root/dockerfile1。我们在root/docker1写入修改文件时,同样的修改会体现在宿主机的/root/dockerfile1,反之亦然。

即使容器关闭后其在/root/docker1下存储的文件也不会消失,这就实现了容器数据的持久化。

比如我在容器中/root/docker1创建一个文件hello.txt,那主机的/root/dockerfile1也会出现这个文件。

我在主机中删除hello.txt,那容器中的这个文件也会被删除。


3、数据卷的权限控制

创建数据卷时默认权限是双向的,即宿主机和容器都有写权限。

我们可以根据需要管理权限,只需要在映射后面加:和权限。

比如下面的指令中,容器只有只读权限。

docker run -it -v /root/dockerfile1:/root/docker1:ro centos

ro就表示read only

这里的权限控制是指对容器的权限控制,宿主机毫无疑问对所有文件有所有的权限。

权限控制只有两个选项,一个是ro,一个是默认的rw



4、数据卷的创建方式

  1. 在启动容器时通过指令创建:docker run -it -v /root/dockerfile1:/root/docker1 centos
  2. 通过脚本创建:我们先创建一个脚本文件名叫docker1,其中的内容如下
FROM centos
VOLUME ["/root/dataVolumeContainer1","/root/dataVolumeContainer2"]
CMD echo "finished,-----success1"
CMD /bin/bash

脚本中在容器中设置了两个数据卷目录,宿主机的目录没有设置但是启动容器后可以查看。

指定脚本启动容器。

docker build -f docker1 -t centos .

启动成功后查看容器的配置,获取宿主机的目录映射

docker inspect cec

然后可以就可以看到宿主机的映射目录。
请添加图片描述

这个方式可以配置多个目录,同时他是动态的设置宿主机的目录,避免了换机器上时因目录权限不够等原因创建容器灰白的情况。

5、数据卷容器

当我们有多个容器的时候,有些场景这些容器之间需要通过数据卷共享数据。请添加图片描述

当然,我们可以通过为这几个容器指定相同的宿主机目录实现需求。但并不是一个好方法,如果改变宿主机地址工作量可不小。

这时候最好的方式是使用数据卷容器。简单来说就是启动一个容器挂载数据卷,其他容器只需要挂载这个容器就可以实现数据共享。

挂载数据卷的容器就是数据卷容器。



这里展示一个示例。示例中会建立三个容器,但只有第一个容器指定数据卷,其他两个容器会挂载第一个容器。

首先启动容器,命名为dc01并挂载数据卷。

docker run -it -v /root/dockerfile1:/root/docker1  --name dc01 centos

之后启动两个容器并挂载第一个容器。

docker run -it --name dc02 --volumes-from dc01 centos
docker run -it --name dc03 --volumes-from dc01 centos

现在这三个容器就可以在/root/docker1目录下共享数据了。

http://www.dinnco.com/news/223.html

相关文章:

  • 网站开发费用计入什么科目培训网站源码
  • 超市网站模版福州搜索排名提升
  • 可以做分析图的地图网站专业做网站设计
  • 自己做的网站如何百度能搜索怎么样引流顾客到店方法
  • 网站开发如何报价单长沙网站se0推广优化公司
  • 丽江古城区建设局网站网络营销软文案例
  • 南山商城网站建设多少钱奶茶软文案例300字
  • 高端网站制作开发信阳seo
  • 两学一做党员答题网站网站流量监控
  • 广州 科技网站建设公司360指数
  • 义乌网站开发公司如何建立自己的网络销售
  • 网站建站中国最新消息
  • 做网站开发的女生多吗营销和销售的区别在哪里
  • 智能网站建设软件石家庄关键词优化软件
  • 广州seo培训机构湖南seo推广
  • 做低首付的汽车网站有哪些网络营销的营销理念
  • 企业 办公 网站模板自动化测试培训机构哪个好
  • 鱼台县建设局网站刷关键词要刷大词吗
  • 同心县建设局网站seo深度解析
  • 建设定制网站搜索引擎网络排名
  • 洛阳航迪科技网站建设公司怎么样百度推广效果怎样一天费用
  • 邓州网站建设网站运营推广的方法有哪些
  • 白头鹰网站一天可以做多少任务北京刚刚传来特大消息
  • 政府门户网站建设问卷调查上海关键词排名搜索
  • 利川做网站做小程序公司哪家好
  • 城乡互动联盟网站建设百度游戏中心app
  • 用asp做网站怎么布局黄页88
  • 武汉便民信息发布平台福州百度seo
  • 网站目录命名规则外贸google推广
  • 营销型网站建设套餐石家庄关键词优化平台