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. 13 | 效率为王:脚本与数据的解耦 + Page Object模型

  2. 数据预处理之独热编码(One-Hot):为什么要使用one-hot编码?

    一.问题由来 最近在做ctr预估的实验时,还没思考过为何数据处理的时候要先进行one-hot编码,于是整理学习如下:  在很多机器学习任务如ctr预估任务中,特征不全是连续值,而有可能是分类值.如下: ...

  3. 我把代码开源、托管到了GitHub、码云

    前言 学习了那么多知识点,写了那么多代码,一直都没有时间整理,之前都是新学一个知识点就在同一个工程项目中进行实践测试,导致这个工程越来越臃肿.越来越乱,连我自己都快看不懂了... 这段时间整理了部分代 ...

  4. BZOJ 2115:Xor(线性基+DFS)

    题目链接 题意 中文题意 思路 因为存在环和重边,边来回走是没有意义的,因此最终的答案应该是一条从1到n的路径权值异或上若干个环的权值,那么难点在于如何选取这些环的权值使得最终的答案更优. 使用到线性 ...

  5. java的封神之路[转载]

    一.基础篇 1.1 JVM 1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收 http://www.jcp.org/en/jsr/detail?id=133 http://i ...

  6. S7-300CPU存储器介绍及存储卡使用

    1. S7 300存储区概述 S7-300 PLC的存储区可以划分为四个区域:装载存储器(Load Memory).工作存储器(Work Memory). 系统存储器(System Memory)和保 ...

  7. springboot与springcloud的关系

    1 . 问题描述 随着springboot.springcloud的不断迭代升级,开发效率不断提升,越来越多的开发团队加入到spring的大军中,今天用通俗的语言,介绍下什么是springboot,s ...

  8. CDQZ集训DAY10 日记

    又一次跪了,跪在了神奇的数据范围上. T1上来打完暴力之后觉得是数据结构题,像三维偏序,于是开始往各种数据结构上想,主席树,线段树+calc,平衡树,树套树,CDQ……最终在经过一番思考之后选择去打C ...

  9. 异常——cmd下javac错误:编码GBK不可映射字符

    在看菜鸟教程时候用记事本创建文件,之后用notepad++编辑后,运行出现错误. 首先从信息上知道这是编码的问题了.开始试了下再notepad++上打开文件选择标签栏的“Encoding”中的“enc ...

  10. Running Code on a Thread Pool Thread_翻译

    The previous lesson showed you how to define a class that manages thread pools and the tasks that ru ...