搜索
首页运维Nginx如何使用Docker挂载资料卷部署Nginx

Nginx资料卷

nginx的作用有很多,比如正向代理、反向代理、负载均衡、透明代理等,一般情况下使用较多的是反向代理和负载均衡。我们只需要在本地同步配置文件,就能完成这些操作。要创建nginx的配置文件,首先需要在/etc/nginx/目录下新建一个名为nginx.conf的文件

如何使用Docker挂载资料卷部署Nginx

nginx1目录下的nginx.conf也要创建,内容空着就行。接下来查看镜像是否正常:

如何使用Docker挂载资料卷部署Nginx

如果还没有下载镜像,使用以下命令拉取镜像(默认最新版):

docker pull nginx

接下来运行容器:

docker run -itd -p 80:80 --name nginx001 -v /docker/nginx1/nginx.conf:/etc/nginx/nginx.conf nginx

解释一下:

  • -itd:开启交互模式,模拟终端,后台运行

  • -p 80:80:对应端口映射到宿主机

  • --name nginx001:自定义容器名称

  • -v /docker/nginx1/nginx.conf:/etc/nginx/nginx.conf:将宿主机的对应文件映射到nginx的配置文件

nginx:运行的镜像名称

运行以上命令以后,会返回随机字符串代表容器创建成功:

如何使用Docker挂载资料卷部署Nginx

查看运行中的容器:

如何使用Docker挂载资料卷部署Nginx

没有看到nginx001,肯定是运行的时候出错了,我们来看一下错误信息:

如何使用Docker挂载资料卷部署Nginx

大概意思是配置文件中没有找到events节点。因为我们创建的文件内容是空的,所以启动容器的时候直接把对应目录下的nginx.conf给映射到nginx001里面的nginx.conf了,空配置的nginx当然无法运行。

现在vi刚才本地创建好的nginx.conf,开始配置:

如何使用Docker挂载资料卷部署Nginx

之前我在docker上部署了一个简易的 .net core 程序,占用本地端口 1500 ,现在我把程序通过nginx反向代理到一个指定域名,并通过80端口访问。配置文件写好以后,重启容器nginx001:

如何使用Docker挂载资料卷部署Nginx

现在nginx001就成功启动了,我们访问一下刚才指定的域名:

如何使用Docker挂载资料卷部署Nginx

nginx的配置已经生效。

最后我们来尝试一下docker重启会不会导致配置初始化,重启docker:

如何使用Docker挂载资料卷部署Nginx

启动两个容器:

如何使用Docker挂载资料卷部署Nginx

访问页面:

如何使用Docker挂载资料卷部署Nginx

资料卷已经成功应用,因为重启Docker后数据库没有被初始化。以后再也不怕docker宕机而数据丢失了。

补充

nginx配置文件中的 proxy_pass 属性,非docker环境配置的时候,localhost或127.0.0.1是可以正常生效的,但是在docker下nginx容器配置localhost或127.0.0.1时,有一个小坑导致无法完成实际的反向代理。因为容器运行时,docker会给它分配单独的ip和端口,然后把docker占用的ip映射到容器ip(比如docker下mysql启动后,使用localhost可以登陆客户端)。但nginx启动时,会先读取配置文件,配置正确的话才会运行,所以容器运行成功后,docker才把本地ip映射进去。只有当使用容器的 IP 直接访问时,如果配置文件中写的是 localhost 或 127.0.0.1,则会触发反向代理。在服务器使用Docker配置Nginx时,只需输入服务器的IP地址即可完成配置。

以上是如何使用Docker挂载资料卷部署Nginx的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:亿速云。如有侵权,请联系admin@php.cn删除
NGINX单元的目的:运行Web应用程序NGINX单元的目的:运行Web应用程序Apr 30, 2025 am 12:06 AM

NGINXUnit的目的是简化Web应用程序的部署和管理。其优势包括:1)支持多种编程语言,如Python、PHP、Go、Java和Node.js;2)提供动态配置和自动重载功能;3)通过统一的API管理应用生命周期;4)采用异步I/O模型,支持高并发和负载均衡。

NGINX:高性能Web服务器的简介NGINX:高性能Web服务器的简介Apr 29, 2025 am 12:02 AM

NGINX始于2002年,由IgorSysoev开发,旨在解决C10k问题。1.NGINX是高性能Web服务器,基于事件驱动的异步架构,适用于高并发。2.提供反向代理、负载均衡和缓存等高级功能,提升系统性能和可靠性。3.优化技巧包括调整worker进程数、启用Gzip压缩、使用HTTP/2和安全配置。

Nginx vs. Apache:看他们的架构Nginx vs. Apache:看他们的架构Apr 28, 2025 am 12:13 AM

NGINX和Apache在架构上的主要区别在于:NGINX采用事件驱动、异步非阻塞模型,而Apache使用进程或线程模型。1)NGINX通过事件循环和I/O多路复用机制高效处理高并发连接,适合静态内容和反向代理。2)Apache采用多进程或多线程模型,稳定性高但资源消耗大,适合需要丰富模块扩展的场景。

NGINX与Apache:检查优点和缺点NGINX与Apache:检查优点和缺点Apr 27, 2025 am 12:05 AM

NGINX适合处理高并发和静态内容,Apache则适用于复杂配置和动态内容。1.NGINX高效处理并发连接,适合高流量场景,但处理动态内容需额外配置。2.Apache提供丰富模块和灵活配置,适合复杂需求,但高并发性能较差。

nginx和apache:了解关键差异nginx和apache:了解关键差异Apr 26, 2025 am 12:01 AM

NGINX和Apache各有优劣,选择应基于具体需求。1.NGINX适合高并发场景,因其异步非阻塞架构。2.Apache适用于需要复杂配置的低并发场景,因其模块化设计。

NGINX单元:关键功能NGINX单元:关键功能Apr 25, 2025 am 12:17 AM

NGINXUnit是一个开源应用服务器,支持多种编程语言,提供动态配置、零停机更新和内置负载均衡等功能。1.动态配置:无需重启即可修改配置。2.多语言支持:兼容Python、Go、Java、PHP等。3.零停机更新:支持不中断服务的应用更新。4.内置负载均衡:可将请求分发到多个应用实例。

NGINX单元与其他应用程序服务器NGINX单元与其他应用程序服务器Apr 24, 2025 am 12:14 AM

NGINXUnit优于ApacheTomcat、Gunicorn和Node.js内置HTTP服务器,适用于多语言项目和动态配置需求。1)支持多种编程语言,2)提供动态配置重载,3)内置负载均衡功能,适合需要高扩展性和可靠性的项目。

NGINX单元:架构及其工作原理NGINX单元:架构及其工作原理Apr 23, 2025 am 12:18 AM

NGINXUnit通过其模块化架构和动态重配置功能提高了应用的性能和可管理性。1)模块化设计包括主控进程、路由器和应用进程,支持高效管理和扩展。2)动态重配置允许在运行时无缝更新配置,适用于CI/CD环境。3)多语言支持通过动态加载语言运行时实现,提升了开发灵活性。4)高性能通过事件驱动模型和异步I/O实现,即使在高并发下也保持高效。5)安全性通过隔离应用进程提高,减少应用间相互影响。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能