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

沈阳单页网站制作金华住房和城乡建设厅网站

沈阳单页网站制作,金华住房和城乡建设厅网站,网易搜索引擎入口,个人网站设计首页当以默认的方式创建容器时,容器中的数据无法直接和其他容器或宿主机共享。为了解决这个问题需要学习一些Docker 存储卷的知识。 Docker提供了三种存储的方式。 bind mount共享宿主机文件目录volume共享docker存储卷tmpfs mount共享内存 volume* volume方式是容器…

当以默认的方式创建容器时,容器中的数据无法直接和其他容器或宿主机共享。为了解决这个问题需要学习一些Docker 存储卷的知识。

Docker提供了三种存储的方式。

  • bind mount共享宿主机文件目录
  • volume共享docker存储卷
  • tmpfs mount共享内存

volume*

volume方式是容器间数据分享的推荐方式。它的运行和管理都是由docker负责。

添加

此处的添加可以分为两层意思,第一层如何添加一个volume,第二层如何向容器中添加一个volume。

添加一个volume

利用`docker volume create`指令创建一个volume,当不指定volume名称时,docker会以一个volume id位置volume的名称。

如下:

当指定volume名称时,docker将创建一个指定名称的volume。

当volume名称相同时,docker不会创建一个新的,而是利用之前创建的volume。

向容器中添加volume

向容器中有两种选项可供选择一种是利用--mount选项,另一种是利用-v选项。

--mount方式

--mount选项支持详细的设定绑定方式,type设定绑定的类型,source设定卷名称,target设定绑定到容器的哪个目录下。

-v方式

-v选项支持简洁的设定绑定方式,利用:作为分隔,可以分成三个部分。第一个部分为volume的名称,当使用匿名volume时可以忽略。第二个部分为绑定到容器的哪个目录下。第三个部分为一些选项。

查询

查看有哪些volume

利用`docker volume ls`指令可以查看系统中所有的volume情况。

查看详细信息

利用`docker volume inspect <volumeName>`指令可以查看某个volume的详细信息。

删除volume

删除volume的前提条件是没有容器正在使用(不管容器是否在运行)该volume,否则会报错无法删除volume。

利用`docker volume rm <volumeName>`指令可以删除指定的volume名称。

备份&还原

备份

就是将容器中volume绑定的目录进行tar打包。

// 将容器中volume绑定的目录打包成压缩文件
tar cfv backup.tar ./mysql
// 将压缩文件转移到宿主机中
docker cp <contianerId>:<tarFilePath> <hostPath>

还原

就是创建一个新的绑定匿名volume的容器,并将tar解压到指定的目录下即可

// 创建一个绑定目录一致的匿名volume容器
docker container create -e MYSQL_ROOT_PASSWORD=SECRET -v /app mysql:5.7// 将宿主机中backup.tar文件复制到容器的绑定目录下
docker cp backup.tar <contianerId>:<path>// 进入容器,并将backup.tar文件解压
docker exec -it <containerId> bash
cd <path>
tar xvf backup.tar

bind mount

bind mount是宿主机和容器之间共享数据的方式。它的作用就是将宿主机中的特定目录或文件绑定到容器的特定目录中。

添加

  • 此处向容器中添bind mount的方式和添加volume的方式非常相似,不同点在于绑定的不是volume名称而是一个宿主机中特定的目录。同样也存在--mount和-v两种方式,向容器中绑定共享的目录。
## 利用--mount方式进行添加
docker container create-e MYSQL_ROOT_PASSWORD=SECRET --mount type=bind,source=<hostPath>,target=<containerPath>mysql:5.7## 利用-v方式进行添加
docker container create-e MYSQL_ROOT_PASSWORD=SECRET-v <hostPath>:<containerPath>mysql:5.7

查询

此处也是通过docker container inspect <containerID>指令查看某个容器下Mounts的信息来查看其共享数据的信息。

Volume和bind mount比较

不同点bind mountvolume
volume位置可任意指定/var/lib/docker/volumes/下
对已有mount point影响隐藏并替换为volume原有数据复制到volume
是否支持单个文件支持不支持,只能是目录
权限控制可设置为只读,默认为读写权限无控制,均为读写权限
移植性移植性弱,与host path绑定移植性强,无须指定host目录

tmpfs mount

tmpfs表示将信息临时存储起来,并保存在宿主机的内存中。需要注意的两点:

  • 此处保存的数据无法持久化,只能是临时存储
  • 目前只支持宿主机是linux系统

添加

也是通过--mount的方式进行添加,不同点在于其类型为tmpfs,且没有source项

docker container create--mount type=tmpfs,target=/app-e MYSQL_ROOT_PASSWORD=SECRETmysql:5.7

容器间共享数据的方法

bind mount方式

就是将需要共享的数据存储在宿主机特定目录下,然后需要访问这部分数据的容器都通过bind mount绑定这个数据。

volume container方式

就是说创建一个专门为其他容器提供volume的容器,它可以是bind mount方式,也可以是volume方式。

## 创建一个volume container并绑定多个形式的共享数据docker container create-v ~/hostData:/hostData-v containerData:/containerData--name vc_data<image_name>

然后其他容器利用--volumes-from参数绑定到volume container上即可,这样所有这样创建的容器就都有了volume container一样的数据了。

## 创建与volume container共享数据的容器
docker container create--volumes-from <volume container name><image_name>

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

相关文章:

  • 温州瑞安网站建设平台网站数据库怎么配置
  • iis 网站无法访问广告优化师招聘
  • 辽宁省网站备案系统什么网站做海报赚钱
  • 做网站 蓝洋建设部设计规范网站
  • 广告类的网站做宽带销售网站
  • 在跨境网站贸易公司做怎么样怎么还原wordpress
  • 做网站必须有框架是吗浙江省建设厅网站张清云
  • 深圳网站建设首选全通网络淘客推广佣金
  • 高端广告公司网站建设上海企业vi设计公司
  • wordpress相关网站北京住房和城乡建设部网站首页
  • 网站被恶意解析c2c电子商务网站定制开发
  • 求一个网站你知道的网站优化优化怎么做
  • 仿煎蛋wordpressseo关键词排名报价
  • 怎么将自己做的网站放到网上sns社区网站开发
  • 做网站用的字体是什么制作wordpress
  • 厦门建站服务wordpress网站怎么仿
  • 网站上的用户注册怎么做的wordpress添加cnzz
  • 网站做跳转链接的好处结构化数据 wordpress
  • 电子商务网站建设论文建设淘宝网站需要多少钱
  • 猪八戒logo设计网站宁波网络建站
  • 南京网站微信建设潍坊网站建设公司慕枫
  • 怎么通过做网站赚钱吗南京网站优化步骤
  • 不关站备案wordpress南昌百度推广公司
  • wordpress临时关站网站开发的人员
  • 网站闭关保护怎么做网站开发及设计
  • 有没有外国网站可以做兼职翻译的百度竞价推广什么意思
  • 西安网站建设制作 熊掌号昆明市最新消息
  • 网站设计计划书的内容威海互联网公司
  • 网站建设检查整改情况报告优秀的响应式网站
  • 四川全美网络科技有限公司搜索引擎优化推广