Docker学习之volume

本文详细介绍了Docker中数据卷的概念与作用,解释了如何使用数据卷来实现容器内外的数据持久化及共享,提供了三种容器与宿主机目录挂载的具体操作示例。

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

提供独立于容器之外的持久化存储

容器中的数据会随着容器的消失而消失,为了解决这个问题,产生了数据卷volume。
例子,比如说mysql容器,msyql中的数据应该是持久化的,故应该存储在volume中。volume还提供容器之间的共享存储

volume操作
容器和宿主机目录挂载的三种方式:

1.第一种方式:

# 运行容器内部地址nginx用来访问网页的地址/usr/share/nginx/html 
docker run -d --name nginx -v /usr/share/nginx/html nginx
#给出容器的所有信息
docker inspect nginx 
> Mounts.Source  宿主机目录 [如果是mac,则该路径不是mac上的实际路径,因为mac上运行docker是还有一层虚拟层,这是docker虚拟层中的路径,可以在docker中访问到]
> Mounts.Destination:/usr/share/nginx/html/ 容器目录
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty [这个路径才是mac本身挂载的目录]


2.第二种方式:

#将当前目录下的html子目录挂载到容器中中的/var/www/html
docker run -p 80:80 -d -v $PWD/html:/var/www/html nginx


3.第三种方式:

# 宿主机目录:$PWD/data docker目录:/var/mydata  容器名:data_container 基础镜像:ubuntu
docker create -v $PWD/data:/var/mydata --name data_container ubuntu
# -it表示使用交互的方式进入容器[默认ubuntu基础镜像没有服务]
docker run -it --volumes-from data_container ubuntu /bin/bash
#进入后执行mount,可以看到有/var/mydata目录的挂载信息
mount

转载于:https://www.cnblogs.com/twodoge/p/10294734.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值