Docker 数据卷的使用
文章目录
- Docker 数据卷的使用
- 导引
- 1. 创建数据卷
- 2. 查看创建的数据卷
- 3. 查看数据卷的详细信息
导引
在Docker中,我们在创建并运行容器后,可以通过exec命令进入容器内部进行操作,但会发现一些命令是无法使用的,比如ll
、vim
因为容器只为我们提供了一些常见的使用命令,而这个时候如果我们需要修改容器内的文件是无法直接修改的,这时就需要使用数据卷来进行映射了
数据卷(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数据卷的介绍了!!如果内容对大家有帮助的话请给这篇文章一个三连关注吧💕( •̀ ω •́ )✧( •̀ ω •́ )✧✨