Py学习  »  docker

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

佛系小懒 • 4 年前 • 308 次点击  

将依赖的安装包下载至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"]

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55177
 
308 次点击