12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- FROM centos:7
- LABEL maintainer "c-wms"
- ENV FASTDFS_PATH=/opt/fdfs \
- FASTDFS_BASE_PATH=/var/fdfs \
- PORT= \
- GROUP_NAME= \
- TRACKER_SERVER=
- #get all the dependences
- RUN yum install -y git gcc make wget unzip vixie-cron \
- pcre pcre-devel openssl openssl-devel lua-devel \
- readline readline-devel perl-ExtUtils-Embed \
- libjpeg libjpeg-devel libpng libpng-devel giflib giflib-devel freetype freetype-devel openjpeg openjpeg-devel \
- GraphicsMagick GraphicsMagick-devel && \
- yum clean all
- #create the dirs to store the files downloaded from internet
- RUN mkdir -p ${FASTDFS_PATH}/libfastcommon \
- && mkdir -p ${FASTDFS_PATH}/fastdfs \
- && mkdir ${FASTDFS_BASE_PATH}
- #compile the libfastcommon
- WORKDIR ${FASTDFS_PATH}/libfastcommon
- RUN git clone https://github.com/happyfish100/libfastcommon.git ${FASTDFS_PATH}/libfastcommon \
- && ./make.sh \
- && ./make.sh install \
- && rm -rf ${FASTDFS_PATH}/libfastcommon
- #compile the fastdfs
- WORKDIR ${FASTDFS_PATH}/fastdfs
- RUN git clone https://github.com/happyfish100/fastdfs.git ${FASTDFS_PATH}/fastdfs \
- && ./make.sh \
- && ./make.sh install \
- && rm -rf ${FASTDFS_PATH}/fastdfs
- COPY conf/*.* /etc/fdfs/
- # Set timezone
- RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- # Ready
- RUN groupadd nginx && \
- useradd -g nginx nginx -s /bin/false
- RUN wget http://rpmfind.net/linux/centos/7.4.1708/extras/x86_64/Packages/epel-release-7-9.noarch.rpm && \
- rpm -ivh epel-release-7-9.noarch.rpm && \
- rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
- # Download and install package
- RUN cd /tmp && \
- git clone https://github.com/LuaJIT/LuaJIT.git && \
- git clone https://github.com/simpl/ngx_devel_kit.git && \
- git clone https://github.com/openresty/lua-nginx-module.git && \
- git clone https://github.com/openresty/echo-nginx-module.git && \
- git clone https://github.com/FRiCKLE/ngx_cache_purge.git && \
- git clone https://github.com/happyfish100/fastdfs-nginx-module.git && \
- wget http://nginx.org/download/nginx-1.9.15.tar.gz
- RUN cd /tmp && \
- tar zxvf nginx-1.9.15.tar.gz && \
- cd LuaJIT && \
- make && make install PREFIX=/usr/local/lj2 && \
- export LUAJIT_LIB=/usr/local/lj2/lib && \
- export LUAJIT_INC=/usr/local/lj2/include/luajit-2.0 && \
- cd ../nginx-1.9.15 && \
- ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --add-module=/tmp/ngx_cache_purge --add-module=/tmp/fastdfs-nginx-module/src --add-module=/tmp/ngx_devel_kit --add-module=/tmp/echo-nginx-module/ --with-ld-opt=-Wl,-rpath,/usr/local/lj2/lib --add-module=/tmp/lua-nginx-module/ && \
- make && make install && \
- mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak && \
- mkdir /usr/local/nginx/conf/lua && \
- echo "0 2 * * * find /var/fdfs/data/ -name *.*_*x*.* -atime -7 | xargs rm -rf" >> /etc/crontab && \
- cp /tmp/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/ && \
- sed -i 's:base_path=.*:base_path=/var/fdfs:g' /etc/fdfs/mod_fastdfs.conf && \
- sed -i 's:store_path0=.*:store_path0=/var/fdfs:g' /etc/fdfs/mod_fastdfs.conf && \
- rm -rf /tmp/*
- VOLUME ["$FASTDFS_BASE_PATH", "/etc/fdfs"]
- # Cpoy File
- COPY file/nginx.conf /usr/local/nginx/conf/
- COPY file/thumbnail.lua /usr/local/nginx/conf/lua/
- COPY docker-entrypoint.sh /
- #make the docker-entrypoint.sh executable
- RUN chmod 777 /docker-entrypoint.sh
- ENTRYPOINT ["/docker-entrypoint.sh"]
- CMD ["tracker"]
|