使用Docker安装nginx及自定义构建Nginx镜像
Nginx安装启用 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中就nginx的安装启动进行实践,本文中再次利用docker镜像安装nginx,官网地址Nginx - Official Image | Docker Hub。
1、基础镜像
拉取镜像
还有save/load操作不详述。
2、运行镜像
3、测试
以上操作步骤看着是不是特别简单,实际上这只是直接运行Nginx容器作为静态服务器——Nginx最简单的应用场景之一。
对这个作为静态服务器的nginx操作还可以复杂一点,比如镜像预留了相应的VOLUME,所以直接执行docker run -v并指定目录映射:
docker -run --name static_nginx -v /static/content:/usr/share/nginx/html:ro -d ngnix
其中:ro表示容器对这个文件夹只读,这样有利于保护数据安全,放置因为容器内部错误而删改数据内容。
除了以上方式还可以使用Dockerfile构建静态容器:
From nginx
Copy static-html-dir /usr/share/nginx/html
修改路径下直接docker build即可。
同样,可以使用以上两种方式修改Nginx使用默认配置文件为自定义配置文件:
如果存在多个站点,每个站点独立一份配置文件时以上两种方式就不太方便使用了。好在nginx设计了conf.d目录:
docker run --name nginx -v /dir/nginx.d:/etc/nginx/conf.d/:ro -d nginx
通过上面的命令行运行Nginx容器显然会是docker run 命令很长,可以通过docker-compose来启动nginx。docker-compose.yml可参考如下示例:
以上只是对nginx镜像的简单使用,可以自定义更复杂的的使用。下面介绍两种自定义的nginx镜像:
一、基于Debian构建Nignx镜像
创建Nginx文件夹,分别存放接下来要用的文件夹,然后新建Dockerfile,如下:
以上nginx-module-*可以修改或添加用户的模块(nginx documentation),构建nginx:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?