Docker容器数据卷的使用教程

 更新时间:2022年10月24日 09:00:22   作者:大三的土狗  
数据卷容器是一个专门用来挂载数据卷的容器,该容器主要是供其他容器引用和使用,下面这篇文章主要给大家介绍了关于Docker容器数据卷使用的相关资料,需要的朋友可以参考下

前言

本文是 Docker 容器的数据卷使用的简单教程,介绍了什么是数据卷、数据卷概念、以及如何使用数据卷等。

1、数据卷概念

数据卷简单来讲就是一个目录,它是由Docker daemon 挂载到容器中的,因此数据卷并不属于联合文件系统,也就是说数据卷里面的内容不会因为容器的删除而丢失。Docker启动后,容器内的文件和宿主机是隔离的,如果不使用docker commit 操作提交容器为镜像把数据保存下来,数据就会因为容器的删除而丢失。

  • 数据卷是宿主机中的一个目录或文件
  • 当容器目录和数据卷目录绑定后,对方的修改会立即同步
  • 一个数据卷可以被多个容器同时挂载
  • 一个容器也可以被挂载多个数据卷

2、数据卷作用

docker默认容器关闭后数据就没了,如果不通过docker commit生成新的进行数据就会丢失。数据卷的作用就是将docker容器运行产生的数据持久化。

  • 容器数据持久化
  • 外部机器和容器间接通信
  • 容器之间数据交换

3、配置数据卷

创建启动容器时,使用 –v 参数 设置数据卷

docker run ... –v 宿主机目录(文件):容器内目录(文件) ... 
​
#docker run -it --name=c1 -v /root/data:/root/data_container couchbase/centos7-systemd /bin/bash

容器的目录data_container

本机的目录data

1)此时在宿主机(本机)data目录下创建文件

touch test.txt

2)在容器查看data_container,发现同步过来了。

注意事项:

  • 目录必须是绝对路径
  • 如果目录不存在,会自动创建
  • 可以挂载多个数据卷

4、多容器进行数据交换

  • 多个容器挂载同一个数据卷
  • 数据卷容器

5、数据卷容器

1)创建启动c3数据卷容器,使用 –v 参数 设置数据卷

docker run –it --name=c3 –v /volume centos:7 /bin/bash  

2)创建启动 c1 c2 容器,使用 –-volumes-from 参数 设置数据卷

docker run –it --name=c1 --volumes-from c3 centos:7 /bin/bash 
​
docker run –it --name=c2 --volumes-from c3 centos:7 /bin/bash

6、数据卷小结

1)数据卷概念

  • 宿主机的一个目录或文件

2)数据卷作用

  • 容器数据持久化
  • 客户端和容器数据交换
  • 容器间数据交换

3)数据卷容器

  • 创建一个容器,挂载一个目录,让其他容器继承自该容器( --volume-from )
  • 通过简单方式实现数据卷配置

总结

数据卷可以在容器之间共享和重用;对数据卷的修改会立马生效;对数据卷的更新,不会影响到镜像;数据卷默认会一直存在,即使容器被删除。数据卷简单来讲就是一个目录,它是由Docker daemon 挂载到容器中的,因此数据卷并不属于联合文件系统。最后,送上一句自己喜欢的话:“没有风浪,便没有勇敢的弄潮儿;没有荆棘,也没有不屈的开拓者。”。

到此这篇关于Docker容器数据卷的使用教程的文章就介绍到这了,更多相关Docker容器数据卷使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Docker Compose配置文件参数

    详解Docker Compose配置文件参数

    Compose是一个用于定义和运行多容器Docker的工具,本文主要介绍了Docker Compose配置文件参数,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • docker通过Dockerfile修改镜像中tomcat的端口

    docker通过Dockerfile修改镜像中tomcat的端口

    8080端口会经常出现被占用的情况,本文主要介绍了docker通过Dockerfile修改镜像中tomcat的端口,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • Docker下redis的主从配置教程详解

    Docker下redis的主从配置教程详解

    这篇文章主要介绍了Docker下redis的主从配置,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的方法

    Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的方法

    这篇文章主要介绍了Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • docker镜像消失的问题及临时解决方案

    docker镜像消失的问题及临时解决方案

    本文主要介绍了docker镜像消失的问题及临时解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • docker安装rockerChat设置聊天室的详细步骤

    docker安装rockerChat设置聊天室的详细步骤

    这篇文章主要介绍了docker安装rockerChat设置聊天室的方法,通过设置文件获取docker-compose文件,文中给大家介绍的非常详细,需要的朋友可以参考下
    2021-05-05
  • docker搭建redis主从哨兵集群的实现步骤

    docker搭建redis主从哨兵集群的实现步骤

    本文主要介绍了docker搭建redis主从哨兵集群的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Docker制作镜像的两种方式(在线制作和离线制作)

    Docker制作镜像的两种方式(在线制作和离线制作)

    我们知道要创建一个Docker容器,要先有Docker镜像,Docker镜像怎么创建的呢?下面这篇文章主要给大家介绍了关于Docker制作镜像的两种方式(在线制作和离线制作)的相关资料,需要的朋友可以参考下
    2023-03-03
  • Docker如何修改容器已经映射的端口

    Docker如何修改容器已经映射的端口

    在项目中我们一般通过命令启动一个容器的时候,通常会通过命令指定容器与物理机网络端口的映射,这篇文章主要给大家介绍了关于Docker如何修改容器已经映射的端口的相关资料,需要的朋友可以参考下
    2023-12-12
  • docker中mysql初始化及启动失败问题解决方案

    docker中mysql初始化及启动失败问题解决方案

    这篇文章主要介绍了docker中mysql初始化及启动失败问题解决方案的相关资料,需要的朋友可以参考下
    2016-10-10

最新评论