在 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 官方文档进行配置。


相关文章
|
6月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
2819 4
|
6月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
318 5
|
6月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
2084 8
|
6月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
935 4
|
关系型数据库 MySQL 应用服务中间件
|
Web App开发 应用服务中间件 nginx
saltstack批量部署并配置nginx
最近应别的部门要求研究了一下saltstack,感觉很好用哈!虽然我现在生产环境用的puppet,想以后逐渐用这个去替代puppet,至于ansible还没研究,以后有时间再看看吧! 一、Saltstack是什么? saltstack是一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。
2097 0
|
11月前
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
984 87
|
7月前
|
编解码 应用服务中间件 Linux
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
625 1
|
11月前
|
负载均衡 应用服务中间件 nginx
Nginx配置与命令
Nginx 是一款高性能的 HTTP 和反向代理服务器,其配置文件灵活且功能强大。本文介绍了 Nginx 配置的基础结构和常用指令,包括全局块、Events 块、HTTP 块及 Server 块的配置方法,以及静态资源服务、反向代理、负载均衡、HTTPS 和 URL 重写等功能实现。此外,还提供了常用的 Nginx 命令操作,如启动、停止、重载配置和日志管理等,帮助用户高效管理和优化服务器性能。
1011 14
下一篇
开通oss服务