Docker学习(二)

本文涉及的产品
数据可视化 DataV(企业版),20 个大屏 1 个月
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
简介: Docker学习(二)

容器数据卷

卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性:

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

特点:

1:数据卷可在容器之间共享或重用数据


2: 卷中的更改可以直接生效


3:数据卷中的更改不会包含在镜像的更新中


4:数据卷的生命周期一直持续到没有容器使用它为止


容器内添加:


一、直接命令添加


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

docker run -it -v /myDataVolume:/dataVolumeContainer centos

该命令会在宿主机创建myDataVolume目录,与容器centos中创建目录dataVolumeContainer,并实现数据同步,就算容器关闭了,宿主机下的myDataVolume目录下的文件发生变化,centos容器再次启动后dataVolumeContainer会再次同步到与宿主机的数据一致。


如果出现cannot open directory :Permission denied错误。


在挂在目录后多加一个--privileged=true参数即可


添加权限

 docker run -it -v /myDataVolume:/dataVolumeContainer:ro centos

容器只有读的权限

DockerFile方法,创建脚本

#volume test
FROM  centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "finidhed,--------sccess"
CMD /bin/bash

脚本生成镜像

-f指定脚本位置,-t指定镜像的名称和版本号

docker build -f /mydocker/Dockerfile -t lq/centos .

运行

docker run -it 【容器id】 /bin/bash

我们可以看到这个容器里面有两个容器卷的目录

20190318111358206.png

在宿主机上使用docker inspect [容器id]可以查看与容器同步的目录。


一般在/var/lib/docker/volumes/目录下


通过之前新建的镜像来实现数据共享,通过镜像实例出dc01、dc02、dc03  3个容器


启动镜像dc01


docker run -it --name dc01 lq/centos


在dataVolumeContainer2中新增内容


dc02和dc03继承自dc01


--volumes-from


docker run -it --name dc02 --volumes-from dc01 lq/centos


docker run -it --name dc03 --volumes-from dc01 lq/centos


分别在在dataVolumeContainer2中新增内容


回到dc01可以看到02/03各自添加的都能共享


删除dc01,dc2修改后dc03可以访问


删除dc02后dc03可以访问


新增dc04继承dc03在删除dc03


结论:容器之间配置信息的传递,数据卷的生命周期一直持续到没有容器去使用它为止


相关实践学习
DataV Board用户界面概览
本实验带领用户熟悉DataV Board这款可视化产品的用户界面
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
相关文章
|
9月前
|
运维 虚拟化 开发者
Docker-全面详解(学习总结---从入门到深化)
Docker-全面详解(学习总结---从入门到深化)
152 1
|
9月前
|
分布式计算 Java Linux
【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Dockerfile使用手册)
Docker 是一套构建在 Linux 内核之上的高级工具,旨在帮助开发人员和运维人员更轻松地交付应用程序和依赖关系,实现跨系统和跨主机的部署。使用安全且轻量级的容器环境来实现这一目标。容器可以手动创建,也可以通过编写 Dockerfile 自动创建。开发人员和运维人员可以将应用程序及其依赖打包到容器中,实现应用程序的可移植性和环境一致性。
285 5
【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Dockerfile使用手册)
|
4月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
524 3
|
4月前
|
存储 Ubuntu Linux
学习docker
学习docker
63 1
|
4月前
|
运维 Kubernetes 开发者
Docker Swarm学习
【10月更文挑战第5天】
52 3
|
4月前
|
Kubernetes Linux 持续交付
docker容器学习
【10月更文挑战第1天】
55 1
|
5月前
|
存储 Ubuntu Docker
Docker学习
Docker学习
77 4
|
4月前
|
Linux 应用服务中间件 Shell
docker学习--docker容器镜像常用命令大全(简)
本文档详细介绍了Docker中的镜像命令与容器管理命令。镜像命令部分涵盖了镜像搜索、下载、上传等操作;容器管理命令则包括了容器的创建、启动、停止、删除及日志查看等功能。通过具体示例,帮助用户更好地理解和使用Docker相关命令。
271 0
|
4月前
|
Shell 应用服务中间件 nginx
docker学习--最详细的docker run 各子命令解释与应用
`docker run` 是 Docker 中用于启动容器的基本命令。常用子命令包括 `-i`(交互模式)、`-t`(分配终端)、`-d`(后台运行)、`-p`(端口映射)、`--name`(指定容器名)。例如,`docker run -it nginx:1.20 /bin/bash` 可以创建并进入交互式容器。使用 `-d` 可在后台运行容器,`-p` 可将容器端口映射到主机端口,`--name` 则用于自定义容器名称以便管理。
480 0
|
6月前
|
网络协议 Shell Docker
docker 学习之路
docker 学习之路
51 1