目录

1.容器数据卷技术解决什么问题

docker可将应用和环境打包成一个镜像。容器是镜像的实例化。
我们的数据如果都在容器中,一旦容器删除,数据就会丢失。
数据卷技术可将容器产生的数据同步到本地,容器之间也可以共享,从而实现容器数据的持久化。
当本地和容器可以实现目录映射,修改容器配置就不必进入容器,有了映射直接在本地修改即可。

2.使用数据卷(volumes)

# 创建一个容器,-v选项表示携带一个数据卷,选项后面是一个目录的映射
docker run -v 主机目录:容器内目录 image 

实例1

# 将本地/home/test目录与容器的/home目录进行映射
# -it选项对应/bin/bash,表示分配一个shell用于和容器交互
docker run -it -v /home/test:/home centos /bin/bash
# 接着,我在容器的/home目录下面新建了一个hello.java,如下图

在本地/home/test目录下面我们可以看到数据已经同步


实例2:mysql数据持久化

docker pull mysql:8.0  # 拉取镜像
# 启动一个mysql容器,MYSQL_ROOT_PASSWORD用于设置密码
# 这里将mysql容器的配置文件目录和数据目录都做了一个本地映射
docker run --name mysql01 -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0 

查看本地/home/mysql/data目录


可以用Navicat测试一下数据库的连接,并且创建一个test数据库


再次查看本地/home/mysql/data目录,数据已更新,多了一个test数据库

3.具名挂载和匿名挂载

# 指定路径挂载,-v 宿主机路径:容器内路径# 匿名挂载, -v 容器内路径
# -P 表示随机分配端口,-v后面只指明了容器中要挂载的目录
docker run -d -P --name nginx01 -v /etc/nginx nginx# 具名挂载, -v 卷名:容器内路径
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx# 查看volume的情况,匿名挂载会随机分配一个volume name,如下图
docker volume ls

具名挂载,我们可通过docker inspect 卷名获取容器中的目录挂载到本地的位置


拓展

# :ro 表示只读,说明这个路径只能通过宿主机来操作,容器内部无法操作
# :rw 表示可读可写
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:ro nginx
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:rw nginx

Docker容器的数据卷(volumes)相关推荐

  1. Linux中的Docker容器的数据卷

    一.数据卷的概念 1.数据卷是宿主机中的一个目录或者文件 2.当容器目录和数据卷目录绑定后,对方的修改会立即同步 3.一个数据卷可以被多个容器同时挂载 4.一个容器也可以挂载多个数据卷 二.数据卷的作 ...

  2. Docker容器的数据卷备份与恢复

    1.Docker容器的数据卷备份与恢复 数据卷的备份与恢复 -备份- 注:   -v指定数据卷时,如果数据卷不存在则自动创建. 1.使用nginx基础镜像新启动一个名为nginx的容器,-v指定数据卷 ...

  3. Docker数据卷—Volumes

    一.引入Docker数据卷的必然性 为了实现容器与主机之间.容器与容器之间共享文件,容器中数据的持久化,将容器中的数据备份.迁移.恢复等,Docker加入了数据卷(volumes)机制.简单的讲,就是 ...

  4. Docker 安装 命令 数据卷 应用部署 网络优化 Dockerfile 服务编排Compose 私有仓库

    Docker 1. 初识docker 1.1 Docker是什么 了解Docker的前生LXC LXC与docker的关系 Docker 的特点 1.2 为什么使用Docker Docker的优势 缺 ...

  5. Docker——使用docker工具管理软件/组件的运行,镜像、容器、数据卷的基本概念,常用指令,使用docker搭建Java微服务运行环境

    Docker--使用docker工具管理软件/组件的运行,镜像.容器.数据卷的基本概念,常用指令,使用docker搭建Java微服务运行环境 一.docker的安装和卸载 1.卸载 2.安装 3. 导 ...

  6. docker基础---数据卷volumes

    1.数据卷 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷可以在容器之间共享和重用 对数据卷的修改会立马生效 对数据卷的更新,不会影响镜像 卷会一直存在 ...

  7. docker webdav_跨主机容器共享数据卷(webdav 双向同步)

    在校内搭建的 Git 仓库,有时候需要在校外访问操作.因为使用的是 Gogs 搭建,所以只需要同步 data 文件夹即可,网上关于双向同步的方案有很多,但是都很麻烦,而且经常会"打架&quo ...

  8. docker学习5--docker数据卷(volume)

    https://blog.csdn.net/dream_broken/article/details/52314993 1.什么是数据卷volume 为了了解什么是Docker Volume,首先我们 ...

  9. docker 容器共享数据_如何在Docker容器之间共享数据

    docker 容器共享数据 介绍 (Introduction) Docker is a popular containerization tool used to provide software a ...

最新文章

  1. 8.2 动力系统的贝叶斯推理
  2. excel单元格下拉菜单
  3. mysql aes java解密_加密/解密的Java函數,如Mysql的AES_ENCRYPT和AES_DECRYPT
  4. 利用学习率衰减找到最优结果(基于Iris数据集)
  5. C++中vector使用详细说明 (转)
  6. 图说:为什么Java中的字符串被定义为不可变的
  7. mysql使用游标的访问过程_mysql存储过程中使用游标的实例_MySQL
  8. c#中的常用ToString()方法总结。
  9. vs2010中Calendar控件的一些使用
  10. Unity-多核优化1-C#JobSystem
  11. 【LeetCode】贪心算法--分发糖果(135)
  12. Laravel 数据库配置
  13. GCC的gcc和g++区别,本质而言,gcc和g++并不是编译器,也不是编译器的集合,它们只是一种驱动器,根据参数中要编译的文件的类型,调用对应的GUN编译器而已
  14. 一种在BIOS中嵌入应用程序的方法及实现
  15. PhpSpreadsheet设置单元格常用操作汇总
  16. 直链文件上传下载网站分享(一)
  17. 还在考驾照的你知道汽车是怎么动起来的吗?
  18. 3D-GIS地理信息系统项目实施及目标
  19. 微软搜购诺基亚是这样的吗
  20. 初三毕业班主任压力过大割喉自尽

热门文章

  1. 【问题记录】更换域名的DNS时,浏览器许久不生效。
  2. 有时候,当我们要进入某个外网时,很慢很慢,等很久才进得去
  3. 算法的时间复杂度和空间复杂度总结
  4. 董老师又双叒叕送书啦,20本《Python数据分析、挖掘与可视化》
  5. EasyExcel解析动态表头及导出
  6. Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)
  7. Mysqldump原理及使用方法
  8. Google(谷歌)高级搜索
  9. Latex中subfloat设置子图标题字体大小
  10. Proteus仿真——用两片74HC148及少量逻辑门构成16线--4线优先级编译器