当前位置: 首页 > news >正文

数据卷的常见命令,如何创建Nginx容器,修改nginx容器内的html目录下的index.html文件

数据卷

什么是数据卷

数据卷(volume)是一个虚拟目录,是容器内目录宿主机**目录**之间映射的桥梁。

以Nginx为例,我们知道Nginx中有两个关键的目录:

  • html:放置一些静态资源

  • conf:放置配置文件

如果我们要让Nginx代理我们的静态资源,最好是放到html目录;如果我们要修改Nginx的配置,最好是找到conf下的nginx.conf文件。

容器运行的Nginx所有的文件都在容器内部。所以我们必须利用数据卷将两个目录与宿主机目录关联,方便我们操作。

 

在上图中:

  • 我们创建了两个数据卷:confhtml

  • Nginx容器内部的conf目录和html目录分别与两个数据卷关联。

  • 而数据卷conf和html分别指向了宿主机的/var/lib/docker/volumes/conf/_data目录和/var/lib/docker/volumes/html/_data目录

这样以来,容器内的confhtml目录就 与宿主机的confhtml目录关联起来,我们称为挂载。此时,我们操作宿主机的/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:08+08: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

http://www.lryc.cn/news/299910.html

相关文章:

  • CFS三层靶机
  • C语言——oj刷题——获取月份天数
  • Java面试题2024(Java面试八股文)
  • Uniapp(uni-app)学习与快速上手教程
  • 如何开始深度学习,从实践开始
  • PostgreSQL的学习心得和知识总结(一百二十九)|深入理解PostgreSQL数据库GUC参数 update_process_title 的使用和原理
  • 【并发编程】ThreadPoolExecutor类
  • auto关键字详讲
  • 8 scala的伴生对象
  • Redis相关介绍
  • Transformer实战-系列教程13:DETR 算法解读
  • 代码随想录刷题笔记 DAY 25 | 组合问题 No.77 | 组合求和III No.216 | 电话号码的字母组合 No.17
  • upload-labs文件上传漏洞靶场
  • 企业计算机服务器中了mkp勒索病毒怎么办?Mkp勒索病毒解密处理
  • STM32-寄存器和HAL库以及如何使用
  • 手动下载spacy的en_core_web_sm模型
  • Sentinel 流控-链路模式
  • Vue中@change、@input和@blur的区别及@keyup介绍
  • 洛谷: P7910 [CSP-J 2021] 插入排序
  • Lua weak表
  • DS:二叉树的顺序结构及堆的实现
  • python从入门到精通(十九):python的多线程详细使用
  • 【More Effective C++】条款19:了解临时对象的来源
  • 站在C/C++的肩膀速通Java面向对象
  • 【AI视野·今日Robot 机器人论文速览 第七十八期】Wed, 17 Jan 2024
  • flask cors 跨域问题解决
  • 18 19 SPI接口的74HC595驱动数码管实验
  • 计算机网络概述习题拾遗
  • 你的电脑关机吗
  • flask+python儿童福利院管理系统pycharm毕业设计项目