在 Docker 中部署 Nginx 并挂载配置文件

简介: 在 Docker 中部署 Nginx 并挂载配置文件

创建本地目录

首先,在主机上创建一个目录,用于存放 Nginx 的配置文件。例如,创建一个名为 nginx 的目录,用于存放 Nginx 的配置文件

mkdir nginx
mkdir nginx/nginx.conf
mkdir nginx/html

拉取 Nginx 镜像

使用以下命令从 Docker Hub 上拉取 Nginx 的最新镜像:

docker pull nginx

启动 Nginx 容器

使用以下命令启动一个名为 nginx 的 Nginx 容器,并将主机的 nginx 目录挂载到容器内的 /etc/nginx/conf.d 目录:

docker run --name nginx -p 80:80 -p 443:443 -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/html:/usr/share/nginx/html -d nginx

其中,--name 指定容器名称,-v /path/to/nginx:/etc/nginx/conf.d 将主机的 nginx 目录挂载到容器内的 /etc/nginx/conf.d 目录,-p 80:80 将容器的 80 端口映射到主机的 80 端口,-d 表示以后台模式启动容器。

修改 Nginx 配置文件

在主机的 nginx/nginx.conf 目录中创建一个名为 default.conf 的文件,用于修改 Nginx 的配置。例如,以下是一个简单的配置文件示例:

server {
    listen       80;
    server_name  localhost;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

在这个示例中,我们指定了 Nginx 的监听端口、服务器名称和根目录。

新建html文件

在主机的 nginx/data 目录中创建一个名为 index.html 的文件。

<!DOCTYPE html>
<html>
<head>
  <title>My Web Page</title>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
  <h1>Welcome to my web page!</h1>
  <p>This is a paragraph of text.</p>
  <ul>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
  </ul>
  <img src="image.jpg" alt="An image">
</body>
</html>

重启 Nginx 容器

在主机的 nginx 目录中修改 default.conf 文件后,需要重启 Nginx 容器使配置生效。使用以下命令重启容器:

docker restart nginx

访问 Nginx

使用以下命令访问 Nginx:

curl http://localhost

如果一切正常,应该会返回 Nginx 的欢迎页面。

以上就是在 Docker 中部署 Nginx 并挂载配置文件的步骤。需要注意的是,Nginx 的配置文件可以根据实际需求进行自定义,可以参考 Nginx 官方文档进行配置。


相关文章
|
9天前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
60 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
20天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
60 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
10天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
10天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
23 1
|
10天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
37 0
|
26天前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解
|
1月前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
255 0
|
1月前
|
应用服务中间件 Linux nginx
Jetson 环境安装(四):jetson nano配置ffmpeg和nginx(亲测)之编译错误汇总
这篇文章是关于在Jetson Nano上配置FFmpeg和Nginx时遇到的编译错误及其解决方案的汇总。
87 4
|
6天前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
18天前
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
nginx配置反向代理404问题