首页 > 其他分享 >一篇文章教你实战Docker容器数据卷

一篇文章教你实战Docker容器数据卷

时间:2022-12-12 11:35:19浏览次数:82  
标签:实战 容器 系列 宿主机 学习 Docker docker

在上一篇中,咱们对Docker中的容器数据卷做了介绍。已经知道了容器数据卷是什么?能干什么用。那么本篇咱们就来实战容器数据卷,Docker容器数据卷案例主要做以下三个案例

1:宿主机(也就是Docker所安装的机器)与容器之间的映射-让Docker可以直接访问宿主机上面的指定目录;

2:读写规则映射添加说明-数据券默认是读写权限的,我们可以设置只读权限

3:卷的继承和共享-容器1做了映射后,容器2可以继承容器1,然后容器2也就有了映射关系

一篇文章教你实战Docker容器数据卷_Docker

大家好,我是凯哥Java(kaigejava),乐于分享,每日更新技术文章,欢迎大家关注“凯哥Java”,及时了解更多。让我们一起学Java。也欢迎大家有事没事就来和凯哥聊聊~~~


直通车,本系列教程已发布文章,快速到达,《Docker学习系列》教程已经发布的内容如下:

​【图文教程】Windows11下安装Docker Desktop​

​【填坑】在windows系统下安装Docker Desktop后迁移镜像位置​

​【Docker学习系列】Docker学习1-docker安装​

​【Docker学习系列】Docker学习2-docker设置镜像加速器​

​【Docker学习系列】Docker学习3-docker的run命令干了什么?docker为什么比虚拟机快?​

​【Docker学习系列】Docker学习2-常用命令之启动命令和镜像命令​

​【Docker学习系列】Docker学习系列3:常用命令之容器命令​

​【Docker学习系列】Docker学习4-常用命令之重要的容器命令​

​【Docker教程系列】Docker学习5-Docker镜像理解​

​【Docker教程系列】Docker学习6-Docker镜像commit操作案例​

​【Docker学习教程系列】7-如何将本地的Docker镜像发布到阿里云​

​【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?​

​「Docker学习系列教程」9-Docker容器数据卷介绍​

​【Docker学习教程系列汇总】笔记及遇到问题解决文章​


1:宿主机VS容器之间映射添加容器卷

1.1:命令公式:

docker run  -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名

注意这个命令是在宿主机上执行

实例:

将宿主机/tmp/host_data目录映射到容器的/tmp/docker_data上

一篇文章教你实战Docker容器数据卷_docker_02

在d为:bdea29051ebb的容器i的/tmp/docker_data里面创建一个indocker.txt

一篇文章教你实战Docker容器数据卷_Docker_03

接着,我们回到宿主机中,查看tmp/host_data目录下:

一篇文章教你实战Docker容器数据卷_docker_04

同理,在宿主机上创建了inhost.txt文件,在容器中也可以看到

一篇文章教你实战Docker容器数据卷_docker_05

一篇文章教你实战Docker容器数据卷_docker_06

1.2:查看数据卷是否挂载成功

命令公式:

docker inspect 容器id

一篇文章教你实战Docker容器数据卷_Docker_07

再到 Mounts这个部分:

一篇文章教你实战Docker容器数据卷_docker_08

我们可以看到type是bind,sorce是宿主机的,destination是容器的

1.3:容器和宿主机之间数据共享

上文案例中的,indocker.txt和inhost.txt案例就是。

思考:当把容器关闭后,在宿主机的目录中,在创建了一个c.txt文件之后,在启动容器,那么容器的挂载目录中会有c.txt文件吗 ?

答案:c.txt文件依然会在容器中

2:读写规则映射添加说明

当宿主机和容器挂载数据卷之后,默认的读写权限就是:“读写”

一篇文章教你实战Docker容器数据卷_Docker_09

设置只读权限的命令公式

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro 镜像名称

和默认的区别就是加上了ro参数

ro:read only.

如果在容器内写操作会有以下提示:

一篇文章教你实战Docker容器数据卷_数据_10

3:卷的继承和共享

案例:

容器1完成和宿主机的映射

容器2继承容器1的卷规则

容器2继承容器1的卷规则:

一篇文章教你实战Docker容器数据卷_docker_11

命令公式

docker run -it --privileged=true --volumes-from 父类 [name] 镜像名

一篇文章教你实战Docker容器数据卷_Docker_12

一篇文章教你实战Docker容器数据卷_docker_13

在u2容器中,查看tmp目录

一篇文章教你实战Docker容器数据卷_docker_14

可以看到已经存在了。


标签:实战,容器,系列,宿主机,学习,Docker,docker
From: https://blog.51cto.com/kaigejava/5929287

相关文章

  • Vue实战必会的几个技巧
    键盘事件在js中我们通常通过绑定一个事件,去获取按键的编码,再通过event中的keyCode属性去获得编码如果我们需要实现固定的键才能触发事件时就需要不断的判断,其实很......
  • 快速上手 Pytest + Requests + Allure2 测试框架实战技能
    随着分层测试策略和自动化测试的普及,测试框架和接口测试成为测试工程师需重点掌握的底层核心技能。在Python自动化测试领域,Pytest由于入门简单,扩展丰富,功能强大,易于维护......
  • 一篇文章教你实战Docker容器数据卷
    在上一篇中,咱们对Docker中的容器数据卷做了介绍。已经知道了容器数据卷是什么?能干什么用。那么本篇咱们就来实战容器数据卷,Docker容器数据卷案例主要做以下三个案例1:宿主......
  • Velero系列文章(四):使用Velero进行生产迁移实战
    概述目的通过velero工具,实现以下整体目标:特定namespace在BA两个集群间做迁移;具体目标为:在BA集群上创建velero(包括restic)备份B集群特定namespace:......
  • Awaitility同步异步工具介绍与RocketMQ中实战
    在编写测试用例的时候遇到有异步或者队列处理的时候经常会用到 ​​Thread.sleep()​​ 等待来进行测试。例如:​​DLedger​​ 测试选举的过程。当DLedgerLeader下线。......
  • Docker-compose部署开源OnlyOffice
    version:'2'services:onlyoffice:hostname:onlyofficeimage:"onlyoffice/documentserver"volumes:-"/docker/onlyoffice/lo......
  • Docker容器的使用
    Docker是什么Docker是一个改进的容器技术。具体的“改进”体现在,Docker为容器引入了镜像,使得容器可以从预先定义好的模版(images)创建出来,并且这个模版还是分层的。Docke......
  • Velero系列文章(四):使用Velero进行生产迁移实战
    概述目的通过velero工具,实现以下整体目标:特定namespace在BA两个集群间做迁移;具体目标为:在BA集群上创建velero(包括restic)备份B集群特定na......
  • CentOs8环境下Docker部署
    一.Docker安装1.安装dnf软件包管理器yum-yinstalldnf2.安装Docker存储驱动的依赖包dnfinstall-ydevice-mapper-persistent-datalvm23.添加稳定的阿里云镜......
  • 当 xxl-job 遇上 docker → 它晕了,但我不能乱!
    开心一刻某次住酒店,晚上十点多叫了个外卖过了一阵儿,外卖到了因为酒店电梯要刷卡,所以我下楼去接到了电梯口看到个模样不错的妹纸我:是你么?妹......