Dockerfile构建NGINX镜像

FROM centos:7
MAINTAINER swift
RUN yum install -y gcc gcc-c++ make openssl-devel pcre-develnstall git wget lrzsz vim  libxml2 libxml2-devel openssl  curl curl-devel libjpeg-turbo libjpeg-turbo-devel libpng-devel libpng freetype-devel freetype icu libicu-devel libicu libmcrypt libmcrypt-devel libxslt libxslt-devel php-mysql  && \
    yum provides "*/applydeltarpm" && \ 
    yum install deltarpm -y && \  
    yum clean all && \
    groupadd -f www && \
    useradd -g www -s /usr/sbin/nologin www && \
    cd /usr/local/src/ && \
    wget http://nginx.org/download/nginx-1.14.0.tar.gz && \
    tar zxvf  nginx-1.14.0.tar.gz && \
    cd /usr/local/src/nginx-1.14.0 && \
    ./configure --user=www --group=www --prefix=/usr/local/nginx  --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module   --with-http_realip_module && \
    make && make install && \
    rm -rf /usr/local/src/nginx-1.14.0*
EXPOSE 80
CMD ["/usr/local/nginx/sbin/nginx", "-g", "daemon off;"]

或者

FROM centos:7
MAINTAINER swift
RUN yum -y install epel-release && \
    rpm -ivh https://centos6.iuscommunity.org/ius-release.rpm && \
    yum install -y git2u && \
    yum -y groupinstall "Development Tools" && \
    yum -y install wget lrzsz vim  libxml2 libxml2-devel openssl openssl-devel curl curl-devel libjpeg-turbo libjpeg-turbo-devel libpng-devel libpng freetype-devel freetype icu libicu-devel libicu libmcrypt libmcrypt-devel libxslt libxslt-devel php-mysql  pcre-devel libtool zlib-devel gcc gcc-c++ && \
   yum clean all && \
   groupadd -f www && \
   useradd -g www -s /usr/sbin/nologin www && \
RUN cd /usr/local/src/ && \
    wget http://nginx.org/download/nginx-1.14.0.tar.gz && \
    wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz && \
    wget https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz && \
    wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.8.tar.gz && \
    wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz && \
    wget  https://src.fedoraproject.org/lookaside/pkgs/jemalloc/jemalloc-4.5.0.tar.bz2/sha512/76953363fe1007952232220afa1a91da4c1c33c02369b5ad239d8dd1d0792141197c15e8489a8f4cd301b08494e65cadd8ecd34d025cb0285700dd78d7248821/jemalloc-4.5.0.tar.bz2 && \
    wget https://ftp.openssl.org/source/old/1.0.2/openssl-1.0.2.tar.gz && \
    tar zxvf openssl-1.0.2.tar.gz && tar xjf jemalloc-4.5.0.tar.bz2 && tar zxvf nginx-1.14.0.tar.gz && tar zxvf ngx_cache_purge-2.3.tar.gz && tar zxvf master.tar.gz && tar zxvf GeoIP-1.4.8.tar.gz && gunzip GeoIP.dat.gz && \
    mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42/ nginx-sticky-module/ && \
    cd /usr/local/src/GeoIP-1.4.8 && \
    ./configure && \
    make -j 4 && make install \
    cd /usr/local/src/jemalloc-4.5.0 && \
    ./configure --prefix=/usr/local/jemalloc && \
    make -j 4 && make install && \
    echo '/usr/local/lib' >> /etc/ld.so.conf.d/local.conf && \
    echo /usr/local/jemalloc/lib >> /etc/ld.so.conf  && \
    ldconfig && \
    cd /usr/local/src/nginx-1.14.0 && \
    ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --with-ld-opt="-L/usr/local/jemalloc/lib -ljemalloc" --with-openssl=/usr/local/src/openssl-1.0.2 --add-module=/usr/local/src/nginx-sticky-module --add-module=/usr/local/src/ngx_cache_purge-2.3 --with-http_geoip_module --with-http_realip_module && \
    make && make insall 
EXPOSE 80
CMD ["/usr/local/nginx/sbin/nginx", "-g", "daemon off;"]

1 查看镜像

# docker images
REPOSITORY                            TAG                 IMAGE ID            CREATED             SIZE
192.168.184.130:5000/lnmp-7-nginx14   base                b78ae1e6fedd        3 hours ago         454MB

2 镜像上传到私有仓库

docker push 192.168.184.130:5000/lnmp-7-nginx14:base

3 运行镜像测试

docker run -d -p 80:80 --name nginx-test 192.168.184.130:5000/lnmp-7-nginx14:base

4 访问测试

[root@node1 nginx]# curl -I 127.0.0.1
HTTP/1.1 200 OK
Server: nginx/1.14.0
Date: Fri, 31 May 2019 08:14:09 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Fri, 31 May 2019 05:32:12 GMT
Connection: keep-alive
ETag: "5cf0bc5c-264"
Accept-Ranges: bytes

 

转载于:https://my.oschina.net/54188zz/blog/3056615

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值