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

在 Docker 中启动 Nginx 并挂载配置文件到宿主机目录

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

在 Docker 中启动 Nginx 并挂载配置文件到宿主机目录

  • 前言
  • 一、创建宿主机目录存放 Nginx 配置
    • 1.1 在宿主机(如 Windows 或 Linux)上创建目录,用于存放 Nginx 的配置文件:
    • 1.2 启动临时 Nginx 容器(仅用于复制默认配置)
    • 1.3 启动正式 Nginx 容器并挂载配置
      • 1.3.1 使用 -v 参数挂载宿主机目录到容器内部:
      • 1.3.2 参数说明:
    • 1.4 验证 Nginx 是否运行
    • 1.5 修改配置文件并重载
    • 1.6 示例:自定义一个静态网站
      • 1.6.1 在 /data/nginx/html 中创建 index.html:
      • 1.6.2 访问 http://localhost,将显示自定义内容。
  • 二、nginx常见配置文件放置位置
    • 2.1 Nginx 容器默认的配置文件路径
    • 2.2 目录结构建议


前言

nginx在开发应用中世纪作用非常广泛,这篇文章分析在 Docker 中启动 Nginx 并挂载配置文件到宿主机目录的教程。


一、创建宿主机目录存放 Nginx 配置

1.1 在宿主机(如 Windows 或 Linux)上创建目录,用于存放 Nginx 的配置文件:

mkdir -p /data/nginx/conf  # 配置文件目录
mkdir -p /data/nginx/html  # 静态文件目录(可选)
mkdir -p /data/nginx/logs  # 日志目录(可选)

在这里插入图片描述

1.2 启动临时 Nginx 容器(仅用于复制默认配置)

运行一个临时 Nginx 容器,将其默认配置文件复制到宿主机:

docker run --name nginx-temp -d nginx
docker cp nginx-temp:/etc/nginx/nginx.conf /data/nginx/conf/nginx.conf
docker cp nginx-temp:/etc/nginx/conf.d /data/nginx/conf/
docker rm -f nginx-temp  # 删除临时容器

现在宿主机 /data/nginx/conf/ 目录下会有 Nginx 的默认配置文件。

1.3 启动正式 Nginx 容器并挂载配置

1.3.1 使用 -v 参数挂载宿主机目录到容器内部:

docker run -d \--name my-nginx \-p 80:80 \-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \-v /data/nginx/conf/conf.d:/etc/nginx/conf.d \-v /data/nginx/html:/usr/share/nginx/html \-v /data/nginx/logs:/var/log/nginx \nginx

1.3.2 参数说明:

-p 80:80:将宿主机的 80 端口映射到容器的 80 端口。

-v:挂载目录或文件:

/data/nginx/conf/nginx.conf → 主配置文件。

/data/nginx/conf/conf.d → 子配置文件(如 default.conf)。

/data/nginx/html → 静态网页文件(可放置 index.html)。

/data/nginx/logs → 日志文件(access.log 和 error.log)。

1.4 验证 Nginx 是否运行

访问 http://localhost,应看到 Nginx 默认页面。
检查容器日志:

docker logs my-nginx

1.5 修改配置文件并重载

直接编辑宿主机的配置文件(如 /data/nginx/conf/nginx.conf),然后让 Nginx 重新加载配置:

docker exec my-nginx nginx -s reload

无需重启容器,配置即可生效。

1.6 示例:自定义一个静态网站

1.6.1 在 /data/nginx/html 中创建 index.html:

<!DOCTYPE html>
<html>
<body><h1>Hello from Nginx!</h1>
</body>
</html>

1.6.2 访问 http://localhost,将显示自定义内容。

二、nginx常见配置文件放置位置

2.1 Nginx 容器默认的配置文件路径

主配置文件:/etc/nginx/nginx.conf
虚拟主机配置(server blocks):/etc/nginx/conf.d/(通常以 .conf 结尾)
默认虚拟主机配置:/etc/nginx/conf.d/default.conf

2.2 目录结构建议

/path/on/host/
├── nginx.conf # 主配置文件
├── conf.d/
│ └── default.conf # 虚拟主机配置
└── html/ # 静态文件

http://www.dtcms.com/a/310528.html

相关文章:

  • MyBatis知识点
  • 烽火HG680-KX-海思MV320芯片-2+8G-安卓9.0-强刷卡刷固件包
  • 电子电气架构 --- 加速48V技术应用的平衡之道
  • 机器学习sklearn:处理缺失值
  • 应用分层
  • 菜鸟教程Shell笔记 数组 运算符 echo命令
  • Qwen2 RotaryEmbedding 位置编码仅仅是第一层有吗
  • 深度学习-梯度爆炸与梯度消失
  • Node.js的用途和安装方法
  • flutter——ColorScheme
  • 第13届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2021年10月24日真题
  • Class28批量归一化
  • java下载word
  • 第七章 愿景14 数据规划
  • 吃透 B + 树:MySQL 索引的底层逻辑与避坑指南
  • SpringMVC全局异常处理+拦截器使用+参数校验
  • Bootstap Vue 之b-form-radio-group 不显示选中状态问题
  • 高并发爬虫的限流策略:aiohttp实现方案
  • 8.1 开始新的学习历程
  • 深入理解 Linux 进程地址空间
  • 一体化智能截流井市场报告:深度解析行业现状与未来增长潜力
  • 【Dart 教程系列第 51 篇】Iterable 中 reduce 函数的用法
  • Vue2 项目实现 Gzip 压缩全攻略:从配置到部署避坑指南
  • 静电释放检测漏报率↓85%!陌讯多模态融合算法在电子厂ESD防护实战解析
  • 【数据可视化-77】中国历年GDP数据可视化分析:Python + Pyecharts 深度洞察(含完整数据、代码)
  • QT中的window()方法/获取到控件最顶部容器
  • Effective C++ 条款16: 成对使用new和delete时要采用相同形式
  • 1、【C语言】【进阶】数组,指针与退化
  • 【Node.js安装注意事项】-安装路径不能有空格
  • Go 语言中 ​10 个高频实用写法