利用dockerfile 安装一个nginx-1.14.1
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的更多相关文章
- 利用dockerfile 安装一个tomcat7
FROM docker.io/centos #定义自己的说明 MAINTAINER jim ming "107420988@qq.com" #切换镜像目录,进入/usr/local ...
- 利用Dockerfile构建一个基于CentOS 7镜像
利用Dockerfile构建一个基于CentOS 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像. Dockerfile内容如下: FROM centosMAINTA ...
- 利用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 ...
- 如何制作一个Nginx镜像
1,从这里你将学到编写Dockerfile的4个重要指令RUN,EXPOSE,ADD,ENTRYPOINT2,在Dockerfile中编写拷贝文件至容器的方法3, 安装一个nginx server,并 ...
- 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装
在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我 ...
- CentOS 7.4安装Nginx 1.14.0
一.安装所需环境 1.gcc 安装 yum install gcc-c++
- 编译安装 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 ) 编译 ...
- Docker Alpine Dockerfile 安装nginx,最小镜像
Docker Alpine Dockerfile 安装nginx,最小镜像 FROM alpine MAINTAINER will ## 将alpine-linux:apk的安装源改为国内镜像 RUN ...
- docker学习笔记6:利用dockerfile创建镜像介绍(生成简单web服务器镜像)
本文介绍如何利用dockerfile来创建镜像.下面介绍具体的操作过程: 一.创建构建环境 操作示例如下: xxx@ubuntu:~$ pwd /home/xxx xxx@ubuntu:~$ mkdi ...
随机推荐
- Scala 学习之路(十三)—— 隐式转换和隐式参数
一.隐式转换 1.1 使用隐式转换 隐式转换指的是以implicit关键字声明带有单个参数的转换函数,它将值从一种类型转换为另一种类型,以便使用之前类型所没有的功能.示例如下: // 普通人 clas ...
- JSON对象和JavaScript对象直接量的区别--不同之处
JSON对象和JS对象直接量 在工作当中,我们总是可以听到人说将数据转换为JSON对象,或者说把JSON对象转换为字符串之类的话,下面是关于JSON的具体说明. JSON对象并不是JavaScript ...
- K8s集群部署(四)------ Flannel网络部署
所有节点都要部署Flannel网络,在所有节点操作. 1.为Flannel生成证书 [root@k8s-master ssl]# pwd /usr/local/src/ssl [root@k8s-ma ...
- 小白开学Asp.Net Core 《五》
小白开学Asp.Net Core<五> —— 使用.Net Core MVC Filter 一.简介 今天在项目(https:/ ...
- 【算法•日更•第六期】头脑风暴:洛谷P1528 切蛋糕题解
▎(一个没有用处的)前言 为什么这次题解特意写明题号呢?因为我发现了这样的事情: 所以不要混了,想看P1714题解的同志们可以圆润的滚开了. 好了,不说没用的了,切入正题: ▎题目 题目及测评链接:戳 ...
- ZooKeeper入门(二) Zookeeper选举
1 背景 1.1 什么是leader选举 在zookeeper集群中,每个节点都会投票,如果某个节点获得超过半数以上的节点的投票,则该节点就是leader节点了 1.2 zookeeper集群选举le ...
- CentOS中对MySql的root用户重置密码
由于一般的修改ini文件来完成无密码登录数据库容易造成较大风险,所以使用修改启动服务参数的方式来更新user表,达到无密码登陆的目的. 1.关闭系统下运行的mysql服务 (1)杀掉进程号达到关闭目的 ...
- kuangbin专题 专题一 简单搜索 Prime Path POJ - 3126
题目链接:https://vjudge.net/problem/POJ-3126 题意:给你两个四位的素数N,M,每次改变N四位数中的其中一位,如果能经过有限次数的替换变成四位数M,那么求出最少替换次 ...
- Java平台调用Python平台已有算法(附源码及解析)
1. 问题描述 Java平台要调用Pyhon平台已有的算法,为了减少耦合度,采用Pyhon平台提供Restful 接口,Java平台负责来调用,采用Http+Json格式交互. 2. 解决方案 2.1 ...
- ASP.NET--Web服务器端控件和Html控件
今天学习总结了一些相关概念和知识. 之前无论是做 单机的winform 还是 CS的winform 感觉,不到两年下来感觉还可以,虽然API有很多,但是还是比较熟悉基于WINDOWS消息机制的编程,但 ...