Docker使用数据卷挂载进行数据存储与共享

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。Docker使用数据卷挂载进行数据存储与共享,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

一、挂载和数据卷

在 Docker 中,挂载(Mounting)和数据卷(Data Volumes)是用于在容器和宿主机之间共享数据的机制。

  • 挂载:将宿主机文件系统中的目录或文件与容器中的目录或文件进行关联的过程。
  • 数据卷:一种特殊的目录,可以绕过容器文件系统,直接与宿主机文件系统进行交互。

1.1 为什么要使用数据卷?

  • 如果数据都在容器中,那么把容器删除以后,数据也会随之丢失,所以要把数据进行数据持久化。
    如:mysql容器,容器删了,里面的数据就都没了
  • 容器之间可以有一个数据共享的技术,使得容器和宿主机实现数据共享。Docker容器中产生的数据,也会同步到宿主机中。

1.2 使用数据卷的好处?

  • 如修改数据库的配置文件还要进入容器里面修改,比较麻烦。当挂载以后只需要在本地修改会即可,容器会自动同步。
    ​- 挂载以后会占用磁盘两份存储,即容器内占一份,宿主机占一份。
  • 挂载以后,删除容器以后,宿主机对应的挂载目录不会删除。

二、挂载数据卷的方式

可以直接使用docker run -it -v命令来实现数据卷挂载,挂载数据卷命令如下:

docker run -it -v 宿主机路径:容器内路径

其中,宿主机路径为绝对路径,

容器起来以后挂载以后使用docker inspect 容器id 查看目录是否挂载成功

docker inspect 容器id
# 搜索Mounts,这里面就是目录的挂载信息
#   Source:主机内路径
#   Destination:docker容器内的路径
# 如果Mounts这里不展示挂载信息,就说明是挂载失败了

三、具体样例

sudo docker run -it -v /home/Project/data:/data test:1.0

挂载信息如下:

  • 宿主机路径:/home/Project/data
  • 容器路径:/data
  • 镜像名称:image-test:1.0

接下来,我们可以查看容器是否正常启动运行起来:

sudo docker ps -a

在这里插入图片描述

查看容器挂载信息:

sudo docker inspect 921ea03a66ea

搜索Mounts,这里面就是目录的挂载信息,其中:

  • Source:主机内路径
  • Destination:docker容器内的路径
    在这里插入图片描述

如果Mounts这里不展示挂载信息,就说明是挂载失败了。

注意:实现数据卷挂载以后,容器停止以后,往宿主机的挂载目录写入对应的数据,此时数据也会同步到容器内对应的目录。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/162754.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!