随笔 - 303  文章 - 0  评论 - 3  阅读 - 15万

使用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:

        

 

posted on   池塘里洗澡的鸭子  阅读(2668)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示