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容器通过ping直接运行获取公网IP操作

    docker容器通过ping直接运行获取公网IP操作

    这篇文章主要介绍了docker容器通过ping直接运行获取公网IP操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • docker Dockerfile文件制作自己的镜像的方法

    docker Dockerfile文件制作自己的镜像的方法

    这篇文章主要介绍了docker Dockerfile文件制作自己的镜像的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • docker打包 commit和Dockerfile过程

    docker打包 commit和Dockerfile过程

    这篇文章主要介绍了docker打包 commit和Dockerfile过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 一次centos Docker网桥模式无法访问宿主机Redis服务的故障排除经历

    一次centos Docker网桥模式无法访问宿主机Redis服务的故障排除经历

    这篇文章主要给大家介绍了关于一次centos Docker网桥模式无法访问宿主机Redis服务的故障排除经历,文中通过示例代码介绍的非常详细,对大家学习或者使用Docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • docker端口映射的实现示例

    docker端口映射的实现示例

    Docker 端口映射允许我们将容器内部的服务绑定到宿主机上的一个或多个端口,本文主要介绍了docker端口映射的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Jenkins+docker发布Springbot服务的实现

    Jenkins+docker发布Springbot服务的实现

    本文主要介绍了Jenkins+docker发布Springbot服务的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Docker数据卷挂载命令volume(-v)与mount的使用总结

    Docker数据卷挂载命令volume(-v)与mount的使用总结

    本文主要介绍了Docker数据卷挂载命令volume(-v)与mount的使用总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Docker desktop中文设置方法步骤

    Docker desktop中文设置方法步骤

    这篇文章主要给大家介绍了关于Docker desktop中文设置的方法步骤,Docker Desktop默认使用英文界面,要设置为中文界面,请按照以下步骤操作,需要的朋友可以参考下
    2024-03-03
  • Docker制作镜像的两种实现方式

    Docker制作镜像的两种实现方式

    本文主要介绍了Docker制作镜像的两种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Docker学习笔记之Weave实现跨主机容器互联

    Docker学习笔记之Weave实现跨主机容器互联

    这篇文章主要介绍了Docker学习笔记之Weave实现跨主机容器互联,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04

最新评论