如何网站推广宣传,网站建设知识问答,软件商城app下载安卓版,黑马网站建设数据卷
什么是数据卷
数据卷#xff08;volume#xff09;是一个虚拟目录#xff0c;是容器内目录与宿主机**目录**之间映射的桥梁。
以Nginx为例#xff0c;我们知道Nginx中有两个关键的目录#xff1a; html#xff1a;放置一些静态资源 conf#xff1a;放置配置文…数据卷
什么是数据卷
数据卷volume是一个虚拟目录是容器内目录与宿主机**目录**之间映射的桥梁。
以Nginx为例我们知道Nginx中有两个关键的目录 html放置一些静态资源 conf放置配置文件
如果我们要让Nginx代理我们的静态资源最好是放到html目录如果我们要修改Nginx的配置最好是找到conf下的nginx.conf文件。
容器运行的Nginx所有的文件都在容器内部。所以我们必须利用数据卷将两个目录与宿主机目录关联方便我们操作。 在上图中 我们创建了两个数据卷conf、html Nginx容器内部的conf目录和html目录分别与两个数据卷关联。 而数据卷conf和html分别指向了宿主机的/var/lib/docker/volumes/conf/_data目录和/var/lib/docker/volumes/html/_data目录
这样以来容器内的conf和html目录就 与宿主机的conf和html目录关联起来我们称为挂载。此时我们操作宿主机的/var/lib/docker/volumes/html/_data就是在操作容器内的/usr/share/nginx/html/_data目录。只要我们将静态资源放入宿主机对应目录就可以被Nginx代理了。
数据卷命令
命令说明docker volume create创建数据卷docker volume ls查看所有数据卷docker volume rm删除指定数据卷docker volume inspect查看某个数据卷的详细docker volume prune清除数据卷
注意容器与数据卷的挂载要在创建容器时配置对于创建好的容器是不能设置数据卷的。而且创建容器的过程中数据卷会自动创建。
案例
需求 创建Nginx容器修改nginx容器内的html目录下的index.html文件查看变化 将静态资源部署到nginx的html目录
# 1.首先创建容器并指定数据卷注意通过 -v 参数来指定数据卷
docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx# 2.然后查看数据卷
docker volume ls
# 结果
DRIVER VOLUME NAME
local 29524ff09715d3688eae3f99803a2796558dbd00ca584a25a4bbc193ca82459f
local html# 3.查看数据卷详情
docker volume inspect html
# 结果
[{CreatedAt: 2024-05-17T19:57:0808:00,Driver: local,Labels: null,Mountpoint: /var/lib/docker/volumes/html/_data,Name: html,Options: null,Scope: local}
]# 4.查看/var/lib/docker/volumes/html/_data目录
ll /var/lib/docker/volumes/html/_data
# 可以看到与nginx的html目录内容一样结果如下
总用量 8
-rw-r--r--. 1 root root 497 12月 28 2021 50x.html
-rw-r--r--. 1 root root 615 12月 28 2021 index.html# 5.进入该目录并随意修改index.html内容
cd /var/lib/docker/volumes/html/_data
vi index.html# 6.打开页面查看效果# 7.进入容器内部查看/usr/share/nginx/html目录内的文件是否变化
docker exec -it nginx bash