使用docker增加nginx

使用docker增加nginx autoindex美化功能

话不多说先上效果图,先确定是不是你想要达到的结果

##安装编译docker 环境
我们这里采用的是nginx1.16.0 版本来进行编译安装的,如果有需要你可以自行更改成别的nginx版本,Dockerfile如下

FROM alpine:latest AS alpine-base
WORKDIR /usr/local
#更换apline的源为阿里云的
RUN echo "http://mirrors.aliyun.com/alpine/latest-stable/main/" > /etc/apk/repositories &&     echo "http://mirrors.aliyun.com/alpine/latest-stable/community/" >> /etc/apk/repositories &&     apk update && #安装wget 和git 我们为了使镜像最小化这个都放在另外一个镜像里面来实现
    apk add --no-cache wget git && #下载nginx包
    wget http://nginx.org/download/nginx-1.16.0.tar.gz &&     tar xvf nginx-1.16.0.tar.gz && #克隆我们需要的模块和主题
    git clone https://github.com/Naereen/Nginx-Fancyindex-Theme.git &&     git clone https://github.com/aperezdc/ngx-fancyindex.git &&     mkdir /usr/local/nginx-1.16.0/model &&     mv ./ngx-fancyindex /usr/local/nginx-1.16.0/model/

FROM alpine:latest
MAINTAINER zhangshoufu [email protected]
WORKDIR /root
#从上面一个镜像中把我们刚才下载安装的包拷贝到这个里面
COPY --from=alpine-base /usr/local/nginx-1.16.0 /usr/local/nginx-1.16.0
RUN echo "http://mirrors.aliyun.com/alpine/latest-stable/main/" > /etc/apk/repositories &&     echo "http://mirrors.aliyun.com/alpine/latest-stable/community/" >> /etc/apk/repositories &&     apk update && #安装编译安装需要的依赖
    apk add --no-cache gcc libc-dev make openssl-dev pcre-dev zlib-dev linux-headers curl &&     cd /usr/local/nginx-1.16.0/ && #执行编译安装
    ./configure --prefix=/etc/nginx     --sbin-path=/usr/sbin/nginx     --modules-path=/usr/lib/nginx/modules     --conf-path=/etc/nginx/nginx.conf     --error-log-path=/var/log/nginx/error.log     --http-log-path=/var/log/nginx/access.log     --pid-path=/var/run/nginx.pid     --lock-path=/var/run/nginx.lock     --http-client-body-temp-path=/var/cache/nginx/client_temp     --http-proxy-temp-path=/var/cache/nginx/proxy_temp     --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp     --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp     --http-scgi-temp-path=/var/cache/nginx/scgi_temp #指定安装扩展模块的位置
     --add-module=/usr/local/nginx-1.16.0/model/ngx-fancyindex     --with-compat     --with-file-aio     --with-threads     --with-http_addition_module     --with-http_auth_request_module     --with-http_dav_module     --with-http_flv_module     --with-http_gunzip_module     --with-http_gzip_static_module     --with-http_mp4_module     --with-http_random_index_module     --with-http_realip_module     --with-http_secure_link_module     --with-http_slice_module     --with-http_ssl_module     --with-http_stub_status_module     --with-http_sub_module     --with-http_v2_module     --with-mail     --with-mail_ssl_module     --with-stream --with-stream_realip_module     --with-stream_ssl_module     --with-stream_ssl_preread_module     --with-cc-opt=‘-g -O2 -fdebug-prefix-map=/data/builder/debuild/nginx-1.16.0/debian/debuild-base/nginx-1.16.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC‘     --with-ld-opt=‘-Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie‘ &&     make && make install &&     mkdir -p /var/cache/nginx/client_temp &&     rm -rf /usr/local/nginx-1.16.0
#把主题拷贝到网站根目录下
COPY --from=alpine-base /usr/local/./Nginx-Fancyindex-Theme /etc/nginx/html
EXPOSE 80
CMD ["/bin/sh","-c","nginx -g ‘daemon off;‘"]

我们执行构建动作

 docker build  -t apline-nginx:v2.0 -f Dockerfile .

截止目前为止我们的docker 包已经构建完成了,

如何使用docker包

因为我们打包的docker包里面索引主题放在了/etc/nginx/html下面,所以我们就把网站根目录设在这个目录下,然后我们通过挂载的方式把网站目录挂载到这个目录下,我们先编写nginx.conf文件

```nginx.conf
worker_processes auto;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;

fancyindex on;
fancyindex_exact_size off;
fancyindex_localtime on;
fancyindex_header "/Nginx-Fancyindex-Theme-light/header.html";
fancyindex_footer "/Nginx-Fancyindex-Theme-light/footer.html";
fancyindex_ignore "examplefile.html";
fancyindex_ignore "Nginx-Fancyindex-Theme-light";
fancyindex_name_length 255;

server {
    listen       80;
    server_name  localhost;

    location / {
        autoindex on;
        root   /etc/nginx/html;
        index  index.html index.htm;
    }
}

}

因为这个里面有两套主题,一套黑的一套白的,我们上面nginx配置文件使用的是白色的主题,如果我们想使用黑色的只需要把配置文件里面的`Nginx-Fancyindex-Theme-light`更换成`Nginx-Fancyindex-Theme-dark`即可。
然后我们现在开始启动这个docker 容器

```bash
docker run -id --name voice_nginx -p 9999:80 -v /home/monitor/:/etc/nginx/html/monitor -v /home/monitor/nginx.conf:/etc/nginx/nginx.conf --restart=always apline-nginx:v2.0 

启动完成之后我们就可以在浏览器里面打开看到我们想要的界面了

原文地址:https://blog.51cto.com/13447608/2448359

时间: 2024-10-24 13:48:58

使用docker增加nginx的相关文章

Centos7 下面安装docker 部署Nginx

实验 环境 Centos 7 操作系统 安装docker yum install docker -y 查看docker 是否安装成功 docker -v Docker version 1.12.6, build 3a094bd/1.12.6 启动docker systemctl start docker 部署Nginx 获取基础镜像 docker pull nginx:1.10.3 查看 镜像 1.直接启动容器 docker run -d -p 8080:80 nginx:1.10.3 解释:

Docker + redis + nginx + tomcat

Docker + redis + nginx + tomcat 环境 pc机 机器 192.168.1.242 系统 [[email protected] ~]# uname -a Linux hdp-gp-dk02 2.6.32-504.el6.x86_64 #1 SMP Tue Sep 16 01:56:35 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux [[email protected] ~]#  cat /etc/redhat-release Red

windows 7搭建基于docker的nginx, php运行环境

包含的软件: nginx php(可选php 5.*或php 7.*) phpredis扩展(php5.*安装小于2.2.8的版本 php7.*安装>=3.0的版本) 基础软件环境 Windows 7 Docker Toolbox(自带了VitrualBox虚拟机软件) 注意:因为Win10有Docker特别版,此环境只适用于Win7 安装步骤简要说明 安装好Docker Toolbox,VitrualBox后 关闭VitrualBox虚拟机default 设置虚拟机default的共享文件夹,

如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器

Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动发现.它可以让我们更加专注于应用的开发,而不是基础架构.Weave 提供了一个如此棒的环境,仿佛它的所有容器都属于同个网络,不需要端口/映射/连接等的配置.容器中的应用提供的服务在 weave 网络中可以轻易地被外部世界访问,不论你的容器运行在哪里.在这个教程里我们将会使用 weave 快速并且简单

如何给容器服务的Docker增加数据盘

如何给容器服务的Docker增加数据盘 摘要: 我们知道Docker的数据是通过联合文件系统的方式存储到磁盘上,当需要在机器上运行的容器或者镜像的数量不断增加时,有可能磁盘的大小不再满足需求,这个时候就需要给Docker的数据目录通过增加数据盘的方式进行扩容. Docker 数据目录 Docker默认的容器和镜像数据存储的目录是在/var/lib/docker下面,可以通过du命令查看这个目录目前占用的磁盘的大小,例如: # du -h --max-depth=0 /var/lib/docker

docker 部署 nginx+php+mysql

系统:centos7 使用root账户 开放80端口 firewall-cmd --zone=public --add-port=80/tcp --permanent 安装docker yum install docker -y 安装docker-compose yum install epel-release -y yum install -y python-pip pip install -U docker-compose 部署nginx+php+mysql 开启docker systemc

docker 部署nginx+weblogic集群

测试一段时间,再来报告 docker 部署nginx+weblogic集群

docker 安装nginx并挂载配置文件和www目录以及日志目录

---恢复内容开始--- 一 首先 docker pull nginx 二 docker run --name myNginx -d -p 80:80 -v e:/docker/nginx/www:/www -v e:/docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v e:/docker/nginx/conf.d:/etc/nginx/conf.d nginx name后面是启动的容器名称,-p是将容器内的端口映射到本机端口,  -v 是分别将本机

docker之NGINX镜像构建

Nginx是一个高性能的Web和反向代理服务器,它具有很多非常优越的特性:1.作为Web服务器.2.作为负载均衡服务器.3.作为邮件代理服务器.4.安装及配置简单.接下来我们介绍在docker构建nginx镜像:Docker镜像构建分为两种方式:一.手动构建二.Dockerfile(自动构建) 一.Docker镜像手动构建实例: 基于centos镜像进行构建nginx镜像 #下载镜像 [[email protected] ~]# docker pull centos [[email protec