docker的学习历程-数据卷

本文介绍了Docker容器中的数据卷管理,探讨了当容器关闭后数据是否保留的问题,并通过实例演示了如何验证数据保存位置。此外,文章详细阐述了如何实现宿主机与容器、以及容器间的数据共享,包括具名挂载、匿名挂载以及使用--volumes-from选项。内容涵盖了数据卷的创建、查看以及权限设置,展示了Docker在数据持久化和共享方面的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker数据卷

学习docker后存在疑问,如果docker容器关闭后其中的数据还存在吗?
验证docker的数据保存位置

#测试安装MySQL镜像
#查询MySQL镜像是否存在
docker search mysql
# 下载镜像
docker pull mysql:5.7
# 查询镜像是否下载完毕
docker images
# 运行mysql镜像
docker run -d -p 8806:3306 -e MYSQL_ROOT_PASSWORD=123456 --name="mysql01" mysql:5.7

查看MySQL01容器中volume详细信息
# 查看所有数据卷信息
docker volume list
# 查看具体容器的数据卷信息
docker inspect volume mysql01

vulume信息
进入容器并进入镜像中挂载目录,新建文档my_mysql_test.txt,输入内容hello world
在这里插入图片描述
在这里插入图片描述

宿主机与容器的数据共享

由以上操作可知,docker容器可以将数据目录挂载到宿主机文件系统,实现宿主机与容器的数据共享,同时也可指定自定义挂载地址,如果没有通过-v指定,那么Docker会默认帮我们创建匿名数据卷进行映射和挂载。

#指定要将容器路径挂载到宿主机的哪个目录下(具名挂载)
docker run -d -P --name nginx01 -v my_nginx:/usr/local/nginx nginx
# 匿名挂载(例如)
docker run -d -P --name nginx01 -v /etc/nginx(容器内路径) nginx
#扩展权限ro\rw,规定容器内的挂载点文件只读或可读可写
docker run -d -P --name nginx01 -v my_nginx:/usr/local/nginx:ro nginx
容器与容器之间的数据共享

使用–volumes-from可以将两个容器之间的文件关联起来,实现容器中间的数据共享,注意使用此命令会同时拷贝nginx01的权限信息,假如nginx01的权限是ro则nginx02的权限也会是ro。

docker run -d -P --name nginx02 --volumes-from nginx01 nginx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值