fastdfs/docker/dockerfile_local-v6.0.9/build_image-v6.0.8/Dockerfile

75 lines
2.8 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 选择系统镜像作为基础镜像可以使用超小的Linux镜像alpine
#FROM centos:7
FROM alpine:3.12
LABEL MAINTAINER liyanjing 284223249@qq.com
# 0.安装包位置fdfs的基本目录和存储目录
ENV INSTALL_PATH=/usr/local/src \
LIBFASTCOMMON_VERSION="1.0.57" \
FASTDFS_VERSION="6.08" \
FASTDFS_NGINX_MODULE_VERSION="1.22" \
NGINX_VERSION="1.22.0" \
TENGINE_VERSION="2.3.3"
# 0.change the system source for installing libs
RUN echo "http://mirrors.aliyun.com/alpine/v3.12/main" > /etc/apk/repositories \
&& echo "http://mirrors.aliyun.com/alpine/v3.12/community" >> /etc/apk/repositories
# 1.复制安装包
ADD soft ${INSTALL_PATH}
# 2.环境安装
# - 创建fdfs的存储目录
# - 安装依赖
# - 安装libfastcommon
# - 安装fastdfs
# - 安装nginx,设置nginx和fastdfs联合环境并配置nginx
#Run yum -y install -y gcc gcc-c++ libevent libevent-devel make automake autoconf libtool perl pcre pcre-devel zlib zlib-devel openssl openssl-devel zip unzip net-tools wget vim lsof \
RUN apk update && apk add --no-cache --virtual .build-deps bash autoconf gcc libc-dev make pcre-dev zlib-dev linux-headers gnupg libxslt-dev gd-dev geoip-dev wget \
&& cd ${INSTALL_PATH} \
&& tar -zxf libfastcommon-${LIBFASTCOMMON_VERSION}.tar.gz \
&& tar -zxf fastdfs-${FASTDFS_VERSION}.tar.gz \
&& tar -zxf fastdfs-nginx-module-${FASTDFS_NGINX_MODULE_VERSION}.tar.gz \
&& tar -zxf nginx-${NGINX_VERSION}.tar.gz \
\
&& cd ${INSTALL_PATH}/libfastcommon-${LIBFASTCOMMON_VERSION}/ \
&& ./make.sh \
&& ./make.sh install \
&& cd ${INSTALL_PATH}/fastdfs-${FASTDFS_VERSION}/ \
&& ./make.sh \
&& ./make.sh install \
\
&& cd ${INSTALL_PATH}/nginx-${NGINX_VERSION}/ \
&& ./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-stream=dynamic \
--add-module=${INSTALL_PATH}/fastdfs-nginx-module-${FASTDFS_NGINX_MODULE_VERSION}/src/ \
&& make \
&& make install \
\
&& rm -rf ${INSTALL_PATH}/* \
&& apk del .build-deps gcc libc-dev make linux-headers gnupg libxslt-dev gd-dev geoip-dev wget
# 3.添加配置文件,目标路径以/结尾docker会把它当作目录不存在时会自动创建
COPY conf/*.* /etc/fdfs/
COPY nginx_conf/nginx.conf /usr/local/nginx/conf/
COPY nginx_conf.d/*.conf /usr/local/nginx/conf.d/
COPY start.sh /
ENV TZ=Asia/Shanghai
# 4.更改启动脚本执行权限,设置时区为中国时间
RUN chmod u+x /start.sh \
&& apk add --no-cache bash pcre-dev zlib-dev \
\
&& apk add -U tzdata \
&& ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \
&& apk del tzdata && rm -rf /var/cache/apk/*
EXPOSE 22122 23000 9088
WORKDIR /
# 镜像启动
ENTRYPOINT ["/bin/bash","/start.sh"]