在 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服务。
2783 4
|
6月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
318 5
|
6月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
2068 8
|
6月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
934 4
|
运维 Java Devops
阿里云云效操作报错合集之部署docker时遇到报错,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
运维 Kubernetes 前端开发
【云原生】阿里云服务器部署 Docker Swarm集群
阿里云服务器 一键部署 Docker Swarm 集群!
1116 0
【云原生】阿里云服务器部署 Docker Swarm集群
|
弹性计算 数据可视化 关系型数据库
使用阿里云部署基于docker的mysql云服务
本篇文章将介绍如何使用阿里云安装docker、部署mysql服务,并远程连接至远端mysql
1076 1
使用阿里云部署基于docker的mysql云服务
|
弹性计算 Docker 容器
阿里云一键部署 Docker Datacenter
使用ROS模板在阿里云上一键部署Docker Datacenter
8212 0
下一篇
开通oss服务