美文网首页docker容器自动化
构建多功能nginx镜像的Dockerfile示例

构建多功能nginx镜像的Dockerfile示例

作者: 佛系小懒 | 来源:发表于2020-02-17 21:51 被阅读0次

    将依赖的安装包下载至tools目录,具体参见链接,通过如下的Dockerfile构建镜像:docker build -t  $IMAGE_NAME 

    启动容器示例: docker run -d -p $PORT:80 --name nginx-tools $IMAGE_NAME  /bin/bash -c 'tail -f /data/tools/README.md'

    FROM centos

    EXPOSE 80

    RUN mkdir-p/data/tools \

    && yum-y install zlib-devel pcre-devel vim wget gcc gcc-c++ make net-tools libffi-devel mysql-devel automake autoconf libtool make openssh-server zlib* openssl openssl-devel git \

    && yum clean all

    COPY ./tools/data/tools

    RUN cd/data/tools \

    && tar zxvf LuaJIT-2.1.0-beta3.tar.gz \

    && cd LuaJIT-2.1.0-beta3 \

    && make \

    && make install \

    && echo"export LUAJIT_LIB=/usr/local/lib" >> /etc/profile \

    && echo"export LUAJIT_INC=/usr/local/include/luajit-2.1/" >> /etc/profile \

    && cd/data/tools \

    && source/etc/profile \

    && tar -zxvf v0.3.1rc1.tar.gz \

    && tar -zxvf v0.10.14.tar.gz \

    && tar -xzvf nginx-1.15.9.tar.gz \

    && tar zxvf libmaxminddb-1.3.2.tar.gz \

    && cd libmaxminddb-1.3.2 \

    && ./configure \

    && make \

    && make  install \

    && sh -c "echo /usr/local/lib  >> /etc/ld.so.conf.d/local.conf" \

    && ldconfig \

    && cd /data/tools \

    && tar zxvf3.2.tar.gz \

    && gunzip GeoLite2-City.mmdb.gz \

    && gunzip GeoLite2-Country.mmdb.gz \

    && mkdir data/geoip \

    && mv GeoLite2-City.mmdb /data/geoip/city.mmdb \

    && mv GeoLite2-Country.mmdb /data/geoip/country.mmdb \

    && mkdir -p /data/webroot/us \

    && mkdir -p /data/webroot/cn \

    && echo"US Site" > /data/webroot/us/index.html \

    && echo"CN Site" > /data/webroot/cn/index.html \

    && cd nginx-1.15.9 \

    && ./configure--prefix=/usr/local/nginx \

    --with-ld-opt=-Wl,-rpath,/usr/local/lib/ \

    --with-http_ssl_module \

    --with-http_stub_status_module \

    --add-module=../ngx_devel_kit-0.3.1rc1 \

    --add-module=../lua-nginx-module-0.10.14 \

    --add-module=../ngx_http_geoip2_module-3.2 \

    --add-module=../ngx_http_google_filter_module \

    --add-module=../ngx_http_substitutions_filter_module \

    && make \

    && make install \

    && cd /data/tools/ \

    && tar -zxvf Python-3.7.3.tgz \

    && rm -f Python-3.7.3.tgz \

    && cd Python-3.7.3 \

    && ./configure \

    && make \

    && make install \

    && ln -s /data/tools/Python-3.7.3/python   /usr/bin/python \

    && cd /data/tools/VeryNginx \

    && python install.py install verynginx \

    && mv /data/tools/nginx.conf  /usr/local/nginx/conf \

    && rm-rf /data/tools/*gz

    CMD ["tail -f /data/tools/README.md"]

    相关文章

      网友评论

        本文标题:构建多功能nginx镜像的Dockerfile示例

        本文链接:https://www.haomeiwen.com/subject/xxgifhtx.html