Dockerfile
[root@docker.linuxpath.cn /ten]#
cat Dockerfile
#确认基础镜像
FROM ubuntu:22.04
LABEL author www.linuxpath.cn
# 创建 nginx 用户和用户组
# 补充依赖
# 下载源码
RUN groupadd nginx && \
useradd -g nginx nginx && \
apt update && \
apt-get install -y \
wget \
libssl-dev \
make \
gcc \
pcre2-utils \
libpcre3-dev \
zlib1g-dev && \
wget -P /tmp/ http://tengine.taobao.org/download/tengine-3.1.0.tar.gz && \
cd /tmp && \
tar xf tengine-3.1.0.tar.gz && \
cd tengine-3.1.0 && \
./configure --prefix=/app/tools/tengine-3.1.0 \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_mp4_module \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module \
--add-module=modules/ngx_http_upstream_check_module/ \
--add-module=modules/ngx_http_upstream_session_sticky_module && \
make -j$(nproc) && \
make install
#二进制安装
RUN cd /tmp/ \
&& cd tengine-3.1.0 \
&& make -j `nproc` \
&& make install
#软连接方便后续管理
RUN ln -s /app/tools/tengine-3.1.0 /app/tools/tengine \
&& ln -s /app/tools/tengine/sbin/nginx /sbin/ \
&& rm -fr /var/cache/* /var/lib/apt/* \
&& ln -sf /dev/stdout /app/tools/tengine/logs/access.log \
&& ln -sf /dev/stderr /app/tools/tengine/logs/error.log
#工作目录
WORKDIR /app/tools/tengine
#暴露端口
EXPOSE 80 443
#运行
CMD ["nginx","-g","daemon off;"]
测试
