FROM  docker.io/centos

MAINTAINER jim 107420988@qq.com
ENV TZ "Asia/Shanghai"
#ENV TERM xterm RUN mkdir -p /etc/yum.repos.d/bak && cd /etc/yum.repos.d/ && mv /etc/yum.repos.d/*.repo bak/
#把当前目录下的localhost.repo追加到镜像的/etc/yum.repo.d/目录下
ADD localhost.repo /etc/yum.repos.d/docker.repo
#执行的命令
RUN yum clean all RUN yum makecache RUN yum repolist RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
RUN yum install -y wget file vim* gcc gcc-c++ make openssl-devel lrzsz patch unzip libuuid-devel libunwind libunwind-level cmake net-tools make pcre-devel zlib-devel
ADD pcre-8.42.tar.gz /usr/local/src
ADD nginx-1.14.1.tar.gz /usr/local/src
ADD zlib-1.2.11.tar.gz /usr/local/src
ADD openssl-1.1.0c.tar.gz /usr/local/src
ADD libunwind-1.2.tar.gz /usr/local/src
ADD gperftools-2.7.tar.gz /usr/local/src
ADD incubator-pagespeed-ngx-1.13.35.2-stable.zip /usr/local/src
ADD posl-1.13.35.2-x64.tar.gz /usr/local/src
ADD nginx_upstream_check_module-master.zip /usr/local/src
ADD nginx.conf /usr/local/src
ADD localhost.conf /usr/local/src WORKDIR /usr/local/src/pcre-8.42
RUN ./configure --prefix=/usr/local/pcre && make && make install WORKDIR /usr/local/src/zlib-1.2.11
RUN ./configure --prefix=/usr/local/zlib && make && make install WORKDIR /usr/local/src/openssl-1.1.0c
RUN ./config --prefix=/usr/local/openssl && make && make install RUN ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
RUN ln -s /usr/local/openssl/include/openssl /usr/include/openssl
RUN ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1 RUN echo "/usr/local/lib" >> /etc/ld.so.conf
RUN echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
RUN /sbin/ldconfig WORKDIR /usr/local/src/libunwind-1.2
RUN ./configure --prefix=/usr/local/libunwind && make && make install WORKDIR /usr/local/src/gperftools-2.7
RUN ./configure --prefix=/usr/local/gperftools --enable-libunwind --enable-frame-pointers --enable-emergency-malloc && make && make install
RUN ln -s /usr/local/gperftools/lib/* /usr/local/lib
RUN mkdir -p /tmp/tcmalloc
RUN chmod 0777 /tmp/tcmalloc/
RUN /sbin/ldconfig WORKDIR /usr/local/src/ RUN unzip incubator-pagespeed-ngx-1.13.35.2-stable.zip
RUN unzip nginx_upstream_check_module-master.zip
RUN cp -frp psol incubator-pagespeed-ngx-1.13.35.2-stable/psol RUN find incubator-pagespeed-ngx-1.13.35.2-stable -type d -exec chmod +rx {} \;
RUN find incubator-pagespeed-ngx-1.13.35.2-stable -type f -exec chmod +r {} \; WORKDIR /usr/local/src/nginx-1.14.1
RUN patch -p1 < ../nginx_upstream_check_module-master/check_1.14.0+.patch WORKDIR /usr/local/src/nginx-1.14.1/ RUN useradd -s /sbin/nologin -M www
RUN ./configure --prefix=/usr/local/nginx --user=www --group=www --pid-path=/usr/local/nginx/nginx.pid --lock-path=/usr/local/nginx/lock/nginx.lock --with-stream --with-stream_ssl_modul
e --with-http_realip_module --with-http_auth_request_module --with-http_ssl_module --with-google_perftools_module --with-file-aio --with-http_dav_module --with-http_flv_module --with-h
ttp_realip_module --with-http_gzip_static_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-pcre=/usr/local/src/pcre-8.42 --with-pcre=/usr/local/src/pcre-8
.42 --with-openssl=/usr/local/src/openssl-1.1.0c --with-zlib=/usr/local/src/zlib-1.2.11 --with-debug --with-http_stub_status_module --add-module=/usr/local/src/nginx_upstream_check_mo
dule-master --add-module=/usr/local/src/incubator-pagespeed-ngx-1.13.35.2-stable --http-client-body-temp-path=/usr/local/nginx/client --http-proxy-temp-path=/usr/local/nginx/proxy --htt
p-fastcgi-temp-path=/usr/local/nginx/fastcgi --http-uwsgi-temp-path=/usr/local/nginx/uwsgi --http-scgi-temp-path=/usr/local/nginx/scgi && make && make install RUN mkdir -p /usr/local/nginx/{lock,proxy,client,fastcgi,uwsgi,scgi,logs/localhost}
RUN ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ RUN mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
WORKDIR /usr/local/src/
COPY nginx.conf /usr/local/nginx/conf/nginx.conf
RUN mkdir -p /usr/local/nginx/conf/vhosts
COPY localhost.conf /usr/local/nginx/conf/vhosts/localhost.conf
RUN cd /usr/local/src && rm -rf *
RUN yum clean all
RUN rm -rf /var/cache/yum EXPOSE 80
WORKDIR /
RUN nginx
CMD ["nginx", "-g", "daemon off;"]

  

利用dockerfile 安装一个nginx-1.14.1的更多相关文章

  1. 利用dockerfile 安装一个tomcat7

    FROM docker.io/centos #定义自己的说明 MAINTAINER jim ming "107420988@qq.com" #切换镜像目录,进入/usr/local ...

  2. 利用Dockerfile构建一个基于CentOS 7镜像

    利用Dockerfile构建一个基于CentOS 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像. Dockerfile内容如下: FROM centosMAINTA ...

  3. 利用Dockerfile构建一个基于centos 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像

    Dockerfile内容如下: FROM centos MAINTAINER Victor ivictor@foxmail.com WORKDIR /root RUN rm -f /etc/yum.r ...

  4. 如何制作一个Nginx镜像

    1,从这里你将学到编写Dockerfile的4个重要指令RUN,EXPOSE,ADD,ENTRYPOINT2,在Dockerfile中编写拷贝文件至容器的方法3, 安装一个nginx server,并 ...

  5. 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装

    在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我 ...

  6. CentOS 7.4安装Nginx 1.14.0

    一.安装所需环境   1.gcc 安装         yum install gcc-c++    

  7. 编译安装 nginx -1.14.2

    编译安装 nginx -1.14.2 1 ) 下载nginx-1.14.2 源码包: wget http://nginx.org/download/nginx-1.14.2.tar.gz 2 ) 编译 ...

  8. Docker Alpine Dockerfile 安装nginx,最小镜像

    Docker Alpine Dockerfile 安装nginx,最小镜像 FROM alpine MAINTAINER will ## 将alpine-linux:apk的安装源改为国内镜像 RUN ...

  9. docker学习笔记6:利用dockerfile创建镜像介绍(生成简单web服务器镜像)

    本文介绍如何利用dockerfile来创建镜像.下面介绍具体的操作过程: 一.创建构建环境 操作示例如下: xxx@ubuntu:~$ pwd /home/xxx xxx@ubuntu:~$ mkdi ...

随机推荐

  1. yii DAO操作总结

    数据库代码: /* Navicat MySQL Data Transfer Source Server         : lonxom Source Server Version : 50524 S ...

  2. bitmap-如何判断某个整数是否存在40亿个整数中?

    有这样一道面试题:现有40亿个整数,如果再给定一个新的整数,怎么判断这个整数是否在这40亿个整数中? 你可能首先会想到用一个set存储,那个新数只需判断是否在set中.但是如果用set存储的话,如果一 ...

  3. 常用的方法论-5why

  4. JDK1.8之ConcurrentHashMap

    目录 简介 JDK1.7 JDK1.8 重要属性 Node类 ForwardingNode类 原子操作和Unsafe类 重要方法 初始化表操作(initTable) 插入键值对(put和putVal) ...

  5. POJ 3183:Stump Removal(模拟)

    http://poj.org/problem?id=3183 题意:有n个树桩,分别有一个高度h[i],要用Bomb把树桩都炸掉,如果炸的位置的两边树桩高度小于Bomb炸的树桩高度,那么小于树桩高度的 ...

  6. java获取config下文件

    private static final String keystore="keystore.jks"; InputStream is=Thread.currentThread() ...

  7. 微信小程序社区爬取

    # CrawlSpider 需要使用:规则提取器 和 解析器 # 1. allow设置规则的方法:要能够限制在目标url上面, 不要跟其他的url产生相同的正则即可 # 2. 什么情况下使用follo ...

  8. 使用kubectl管理k8s集群(二十九)

    前言 在搭建k8s集群之前,我们需要先了解下kubectl的使用,以便在集群部署出现问题时进行检查和处理.命令和语法记不住没有关系,但是请记住主要的语法和命令以及帮助命令的使用. 在下一篇,我们将讲述 ...

  9. 【排序函数讲解】sort-C++

    c++标准库里的排序函数,用于对给定区间所有元素进行排序.头 文件是#include 使用 Sort()在具体实现中规避了经典快速排序可能出现的.会导 致实际复杂度退化到 o(n²)的极端情况.它根据 ...

  10. 我这边测了一下,发现#后面参数变化浏览器不会刷新,但是#一旦去掉就会刷新了,你那边的url拼的时候能不能在没参数的时候#也拼在里面,这样应该就OK了

    我这边测了一下,发现#后面参数变化浏览器不会刷新,但是#一旦去掉就会刷新了,你那边的url拼的时候能不能在没参数的时候#也拼在里面,这样应该就OK了