当前位置: 首页 > 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.lryc.cn/news/606975.html

相关文章:

  • 代码随想录算法训练营第三十八天
  • Mermaid流程图可视化系统:基于Spring Boot与Node.js的三层架构实现
  • h5独立部署
  • (转)mybatis和hibernate的 缓存区别?
  • AG-UI 协议全面解析--下一代 AI Agent 交互框架医疗应用分析(上)
  • 【BUUCTF系列】[GXYCTF2019]Ping Ping Ping 1
  • 智能体的未来:AGI路径上的关键技术突破
  • springboot助农平台
  • 探索 VMware 虚拟机:开启虚拟化世界的大门
  • 人大金仓数据库Kingbase主备集群搭建和部署
  • Spring Boot 2.1.18 集成 Elasticsearch 6.6.2 实战指南
  • 工业环境中无人叉车安全标准深度解析
  • 我用提示词A 对qwen3-4b大模型进行 nl2sql 任务 grpo 强化学习,评估的时候换新提示词,会影响nl2sql测评准确率吗?
  • 数据结构常见时间复杂度整理
  • 数据结构(10)栈和队列算法题
  • 4-verilog简单状态机
  • Linux 硬盘分区管理
  • FEVER数据集:事实验证任务的大规模基准与评估框架
  • spring boot 启动报错---java: 无法访问org.springframework.boot.SpringApplication 错误的类文件
  • Pycaita二次开发基础代码解析:几何体重命名与参数提取技术
  • 【Java面试题】缓存穿透
  • 梯度下降的基本原理
  • Oracle EBS ERP开发 — 抛出异常EXCEPTION书写规范
  • Vue3 setup、ref和reactive函数
  • ReAct模式深度解析:构建具备推理能力的AI智能体架构
  • 【Linux】System V - 责任链模式与消息队列
  • 机密计算与AI融合:安全与智能的共生架构
  • 动态爱心树
  • Linux(CentOS 7.9) 卸载、安装MySql 5.7详细步骤教程,包括密码设置、字符集设置等
  • 鸿蒙系统PC安装指南