Docker 数据卷的使用

Docker 数据卷的使用

导引

在Docker中,我们在创建并运行容器后,可以通过exec命令进入容器内部进行操作,但会发现一些命令是无法使用的,比如llvim

在这里插入图片描述

因为容器只为我们提供了一些常见的使用命令,而这个时候如果我们需要修改容器内的文件是无法直接修改的,这时就需要使用数据卷来进行映射了

数据卷(volume):是一个虚拟目录,同时也是容器内目录和宿主机目录之间的桥梁

我们通过数据卷, 将容器内的目录映射到宿主机上,此时,我们修改宿主机上目录中的内容,也能对应的修改容器内目录的内容了!

数据卷的命令可以通过docker volume --help进行查询:

在这里插入图片描述

1. 创建数据卷

对于数据卷的创建,可以在创建容器的时候一起进行创建:

docker run -d --name <容器名> -p <宿主机端口>:<容器内端口> -e <环境变量> -v <数据卷>:<容器内目录> <指定镜像名>

在使用docker run命令时,通过-v来创建挂载数据卷,其中:

  • <数据卷>:这里可以自定义文本内容,表示数据卷名称;也可填写宿主机目录路径,表示进行本地目录挂载
  • <容器内目录>:需要进行映射的容器内的目录
  • 在创建容器时,如果挂载的数据卷不存在则会自动创建数据卷

举个栗子🌰

将之前创建的nginx容器删掉,重新创建容器并挂载数据卷,映射容器nginx目录下的/usr/share/nginx/html

docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx

在这里插入图片描述

2. 查看创建的数据卷

需要查看之前创建过的数据卷,可以使用以下命令:

docker volume ls

在这里插入图片描述

其中html是我们刚刚创建的文件,而另外两个长文本则是我们前面创建mysql容器时自动创建的匿名卷(没有指定数据卷则会自动创建)

3. 查看数据卷的详细信息

当我们需要查看数据卷的详细信息时,可以使用以下命令:

docker volume inspect <数据卷名>

举个栗子🌰

查看html数据卷的详细信息:

在这里插入图片描述

其中:

  • Name:数据卷的名称
  • MountPoint:数据卷挂载在宿主机上的位置

通过数据卷的挂载,容器中的目录与宿主机上的目录能够互相的映射:

在这里插入图片描述

此时我们修改宿主机/var/lib/docker/volumes/html/_data路径下的index.html文件:

在这里插入图片描述

这个时候我们再访问nginx,可以看到文件内容已发生修改,这也代表着容器目录中文件的内容也被同步修改了!

在这里插入图片描述

以上便是对Dockers数据卷的介绍了!!如果内容对大家有帮助的话请给这篇文章一个三连关注吧💕( •̀ ω •́ )✧( •̀ ω •́ )✧✨

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值