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

环球网最新新闻学校seo推广培训班

环球网最新新闻,学校seo推广培训班,开发公司经营管理存在的问题,厦门网站快照优化公司目录 1、前言 2、Docker实现数据管理的方式 2.1、数据卷(Data Volumes) 2.2、数据卷容器(Data Volume Containers) 3、简单示例 3.1、数据卷示例 3.2、数据卷容器示例 1、前言 在生产环境中使用 Docker,一方面…

目录

1、前言

2、Docker实现数据管理的方式

2.1、数据卷(Data Volumes)

2.2、数据卷容器(Data Volume Containers)

3、简单示例

3.1、数据卷示例

3.2、数据卷容器示例


1、前言

在生产环境中使用 Docker,一方面,需要对数据进行保存或者在多个容器之间进行数据共享;另一方面,在 Docker 的容器被删除后,并不会保留容器的状态信息。那么如何实现信息的持久化呢?这必然涉及容器的数据管理。

2、Docker实现数据管理的方式

在 Docker 容器中实现数据管理(或者说实现数据的持久化)主要有以下两种方式:

2.1、数据卷(Data Volumes)

数据卷本质上是一个挂载目录,类似使用 Linux的 mount 命令挂载的目录。数据卷可以供容器使用,并且可以在不同的容器之间共享和重用数据卷。对数据卷的修改会立即生效。数据卷与容器彼此独立,对数据卷的更新不会影响镜像。

即使容器被删除,数据卷默认也会一直存在,直到数据卷被删除为止。

在Docker 中可以使用-mount和-v 两种方式给容器挂载数据卷。

2.2、数据卷容器(Data Volume Containers)

数据卷容器是一种特殊的容器,用来维护数据卷。它可以在多个容器之间共享数据信息。利用数据卷容器可以很方便地完成数据迁移。

3、简单示例

3.1、数据卷示例

可以使用-mount或-v两种方式给容器挂在数据卷。

-mount和-v的区别在于,-mount如果宿主机目录不存在会直接报错,而-v会自动创建。

1)创建一个数据卷“myvolume”。

docker volume create myvolume

创建后,查看所有数据卷。

docker volume ls

也可以通过inspect命令查看数据卷详细信息。

docker inspect myvolume

2)启动一个容器,并使用数据卷。

这里使用Nginx镜像创建一个容器,名称为mynginx,端口映射为1234:80。

docker run -d -p 1234:80 --name=mynginx --mount type=volume,source=myvolume,target=/usr/share/nginx/html/ nginx

然而我这里却提示无法识别--mount,通过docker run --help并没有发现--mount命令。猜测跟docker版本有关系,我这里使用的是docker 1.13.0版本。网上找了一圈之后发现,需要docker-ce 75.06以上版本才可以。这里大家可以自行验证。

参数说明:

  1. --mount :指定在容器启动时挂载数据卷。
  2. type:指定数据卷挂载的方式。有以下几个参数:
    1. volume。普通数据卷,默认的type类型。其函数映射到主机“ar/lib/docker/volumes”目录下。
    2. bind。绑定数据卷。使用这种类型可以在挂载数据卷时将其映射到主机的指定目录下。
    3. tmpfs。临时数据卷,只将容器的目录挂载到宿主机的内存中。一般在实际环境中不会使用这种方式。
  3. source:指定宿主机上的目录或者数据卷。这里使用的是第(1)步所创建的数据卷myvolume。
  4. target:将容器中的“/usr/share/nginx/htm/”目录挂载到宿主机。

3)也可以使用-v参数进行挂载。

使用-v我们将宿主机/home/data目录挂载到容器内的/data/mydatavolume目录下。

# --privileged=true 不加这个,容器内使用ls会提示权限问题
docker run -it --privileged=true -v /home/data/:/data/mydatavolume centos /bin/bash

容器内:

宿主机:

可以看到目录已经成功挂载,且当你在宿主机修改的内容,会直接同步到容器内部。

-v命令格式为:

-v 宿主机目录:容器内部目录

3.2、数据卷容器示例

数据卷容器也是一个容器,专门用来提供数据卷供其他容器挂载。如果用户需要在多个容器之间共享一些持续更新的数据,则最简单的方式是使用数据卷容器。

1)创建数据卷容器。

创建一个数据卷容器 dbdata,并在其中创建一个数据卷挂载到“/dbdata”下:

docker run -it -v /dbdata --name dbdata centos

2)数据卷容器内生成一些文件。

echo hello world > a.txt

3)创建一个容器container1,并使用--volumes-from挂载dbdata容器的数据卷。

docker run -it --volumes-from dbdata --name=container1 centos

在容器container1中可以查看目录/dbdata,其中已经有了刚生成的a.txt:

4)同理可以继续建容器container2,并使用--volumes-from挂载dbdata容器的数据卷。

docker run -it --volumes-from dbdata --name=container2 centos

并创建b.txt:

5)在容器container1中也能看到该数据。

从结果可以看出两个容器container1和container2挂载了同一个数据卷,并且数据卷都在相同的、dbdata目录下。这样容器的任何一方在该目录下写入,其他容器也都可以看到。这样很方便的实现了不同容器之间的数据共享,并且利用这种方式很容易的实现容器数据的迁移。

http://www.yayakq.cn/news/323380/

相关文章:

  • 企业网站翻译郑州专做喜宴的网站
  • 做eso哪家网站好为什么不能去外包公司
  • 排名好的网站建设网站站内优化方案
  • 模板网站建设教程php网站开发环境说明
  • 电商网站营销互联网推广培训机构
  • 图片做多的网站是哪个没有网站怎么做百度推广
  • 民治做网站的公司网站做的相似
  • 怎么样建设网站网站首页设计制作教程
  • 网站谁家做得好公司网站建设开发济南兴田德润优惠吗
  • 华为产品开发流程重庆seo教程
  • 现在外国有哪个网站可以做卖东西爱奇艺的网站是用什么做的
  • 那个网站做外贸最好建网站的公司
  • 影视怎么建设网站专业建站分销商城
  • 网站制作公司收费情况电商企业网站建设的一般要素有哪些
  • 自己做的网站怎么绑定域名安徽合肥
  • 西部数码的vps云主机如何访问网站输入网址一键生成app
  • 网站建设方案论文金融软件开发公司排名
  • 网站网站建设哪家便宜企业网络营销的意义
  • 织梦网站安装视频图片展示型网站模板下载
  • 国内html5网站案例专注高密做网站哪家好
  • 做门户网站用什么系统网站建设推广销售人员
  • 东莞最好的网站建设价格学习建设网站难么
  • 黑河做网站哪家好公众号接入小程序
  • 重庆网站备案大厅四川省住建厅官网
  • 互联网营销网站建设沈阳建设工程信息网官网新网站
  • 金融公司网站模板腾讯云预装wordpress
  • 蜘蛛网网站建设分析网站百度贴吧
  • 网络建设网站网站建设与管理和电子商务哪个好
  • 网站产品优化wordpress格式化sql串
  • app手机网站制作wordpress手机网站模板