Docker多阶段构建


使用多阶段构建 Nginx

#### 第一阶段

# 基础镜像
FROM centos AS Nginx-Pre

# 添加远程文件到当前文件夹
ADD http://nginx.org/download/nginx-1.20.1.tar.gz /usr/local/src/

# 在镜像内运行解压命令
RUN tar zxvf /usr/local/src/nginx-1.20.1.tar.gz -C /usr/local/src/

# 切换目录
WORKDIR /usr/local/src/nginx-1.20.1

# 安装必要的软件
RUN yum install -y gcc gcc-c++ glibc make openssl-devel gd-devel pcre pcre-devel libxslt libxslt-devel

# 编译安装
RUN ./configure --prefix=/usr/local/nginx --with-file-aio --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_degradation_module --with-http_stub_status_module && make && make install

#### 第二阶段

# 基础镜像
FROM centos

# 复制软件包
COPY --from=Nginx-Pre /usr/local/nginx /usr/local/

# 执行启动命令
CMD ["-g", "daemon off;"]