使用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 2022-04-24 12:27  池塘里洗澡的鸭子  阅读(2594)  评论(0编辑  收藏  举报