将应用和环境打包成一个镜像,然后发布启动就成为一个容器了。

一、什么是容器数据卷

  容器数据卷(Container Data Volumes)是Docker管理的一种特殊类型的存储区域,它为容器提供了一种持久化数据、共享数据以及与宿主机或其他容器之间进行数据交互的有效方式。

  如果数据都在容器中,那么容器删除,数据就会丢失!MySQL的容器删除 = 删库 => 跑路

  容器之间可以有一个数据共享的技术。

  docker容器中产生的数据,同步到本地。这就是卷技术!即容器的目录挂载到Linux上。

二、容器卷的使用

2.1、命令挂载

1.先在虚拟机创建/home/ceshi目录

2.挂载目录,并运行镜像进入容器,在容器内部的/home目录下创建测试文件

# docker run -it -v 主机目录:容器目录
docker run -it -v /home/ceshi:/home centos /bin/bash

3、另外开一个窗口,访问虚拟机的/home/ceshi目录

4、使用docker inspect查看镜像关于Mounts的信息

2.2、具名和匿名挂载

匿名挂载:docker run -d -P --name nginx01 -v /etc/nginx nginx

查看所有的volume的情况:docker colume ls

-v后面只有容器内路径的为匿名挂载

具名挂载:docekr run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx(大多数情况下使用的挂载方式)

所有的docker容器内的卷,没有指定目录的情况下都是在/var/lib/docker/volumes/xxx/_data

※ 容器卷挂载之后,在虚拟机中也可以观察到变化

※ 挂载时改变读写权限

1、只读(read only)

docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:ro nginx

2、可读可写(read write)

docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:rw nginx

三、安装mysql

命令挂载的实操:将MySQL的data目录挂载出去

1.拉取镜像

2、挂载并启动mysql镜像

3、进入容器,访问mysql

存疑:容器内系统时间和虚拟机系统时间不一致?

4、将容器删除,本地的数据卷依旧没有丢失,这就实现了容器数据持久化功能!

— 要养成终身学习的习惯 —

docker - [10] 容器数据卷的更多相关文章

  1. docker 2 容器数据卷

    docker 启动tomcat docker run -it -p 8888:8080 tomcat 提交一个容器使之成为一个镜像 docker commit -a=“作者” -m=“提交信息” 模板 ...

  2. docker系列之六容器数据卷

    docker之容器数据卷 一.容器数据卷 docker容器运行的时候,会产生一系列的文件,那么我们希望容器产生的数据能提供给其他的容器使用,也就是说怎么实现容器间的数据的共享呢?这就需要用到我们所提到 ...

  3. Docker——容器数据卷

    为什么需要容器数据卷 角度:遇到问题,尝试以朴素的道理解决问题.问题复杂化,解决的方式也变得复杂 问题的提出:docker将应用和环境打包成一个镜像,但是对于容器内的数据,如果不进行外部的保存,那么当 ...

  4. Docker容器数据卷-Volume详解

    Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷(Data Volume).数据卷可以用来存储Docker应用的数据,也可以用来在Docker容器间进行数据共享.数据 ...

  5. Docker(六)容器数据卷

    容器数据卷 docker的理念回顾 将应用和环境打包成一个镜像 需求:数据可以持久化和同步 使用数据卷 指定路径挂载 docker run -it -v 主机目录:容器内目录 # 测试 [root@h ...

  6. 『现学现忘』Docker基础 — 28、Docker容器数据卷介绍

    目录 1.什么是Docker容器数据卷 2.数据卷的作用 3.数据卷的使用 1.什么是Docker容器数据卷 Docker容器数据卷,即Docker Volume(卷). 当Docker容器运行的时候 ...

  7. docker 12 docker容器数据卷

    数据卷概念 ♣我们知道,当我们把一个运行中的容器关闭后,容器里的数据就没有了(如果你做了docker commit操作,数据会保留到新的镜像里面).所以我们就需要用容器数据卷把容器数据进行持久化储存. ...

  8. Docker容器数据卷

    ⒈Docker容器中数据如何持久化? ①通过commit命令使容器反向为镜像 ②以容器数据卷的方式将数据抽离 ⒉容器数据卷的作用? ①容器数据的持久化 ②容器间继承.共享数据 ⒊能干嘛? 卷就是目录或 ...

  9. Docker容器数据卷(七)

    Docker致力于: 将运用与运行的环境打包形成容器运行 ,运行可以伴随着容器,但是我们对数据的要求希望是持久化的 容器之间希望有可能共享数据 Docker容器产生的数据,如果不通过docker co ...

  10. 5、docker容器数据卷: -v添加共享传递容器数据卷

    1.是什么 1.docker理念 先来看看Docker的理念:*  将运用与运行的环境打包形成容器运行 ,运行可以伴随着容器,但是我们对数据的要求希望是持久化的*  容器之间希望有可能共享数据 2.保 ...

随机推荐

  1. openEuler欧拉安装Gitlab

    1. 安装GitLab wget https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh sud ...

  2. 在 ASP.NET Core 中 使用 Serilog

    Serilog.AspNetCore https://github.com/serilog/serilog-aspnetcore#two-stage-initialization 这是 Serilog ...

  3. 痞子衡嵌入式:MCUXpresso for VS Code开发环境搭建及SDK工程导入

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso for VS Code开发环境搭建及SDK工程导入. MCUXpresso IDE(包括其前身 LPCXpress ...

  4. UML之集合类型

    无论何时当我们要使用一个多值对象时,我们必须要清楚两个问题,一是这些值的顺序重要吗?二是允许重复值的存在吗?在编程语言中还会有其他的明确的信息,在UML中,只需明确这两个问题的答案即可确定对应的集合类 ...

  5. 即时通讯技术文集(第39期):推送技术合集(Part1) [共18篇]

    为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第 39 期. [- 1 -] iOS的推送服务APNs详解:设计思路.技术原理及缺陷等 [链接 ...

  6. DateTimeExtensions:一个轻量C#的开源DateTime扩展方法库

    推荐一个专门为System.DateTime编写的扩展方法库. 01 项目简介 该项目主要是为System.DateTime和System.DateTimeOffset的编写的扩展方法,包括自然日期差 ...

  7. 树莓派cm4更新bootloader(eeprom)

    cm4不能在系统里通过 rpi-eeprom-update 指令进行升级,也不能通过 update 进行更新,只能通过recovery模式进行更新. 以下为Windows的升级方式. Setp 1:下 ...

  8. Android SELinux 权限问题总结

    SELinux TE 添加权限不生效的解决方法==============================================selinux security level引起的denied ...

  9. 高通MSM8909 Mutil-HAL Sensor 调试

    Mutil-HAL的介绍: Sensors Multi-HAL 是一个框架,允许传感器 HAL 与其他传感器 HAL 一起运行. Sensors Multi-HAL 动态加载作为动态库存储在供应商分区 ...

  10. 控制反转(Inversion of Control,IoC)

    依赖注入(Dependency Injection,DI)和控制反转(Inversion of Control,IoC)是软件工程中两个相关但不同的概念.它们都旨在提高代码的模块化.可维护性和可测试性 ...