Dockerfile制做nginx镜像并添加ngx_http_image_filter_module 模块
时间: 2024-01-12 08:05:23 浏览: 27
好的,以下是Dockerfile的内容:
```
# 基础镜像
FROM nginx:latest
# 安装编译工具和依赖库
RUN apt-get update && \
apt-get install -y build-essential libpcre3 libpcre3-dev zlib1g-dev libssl-dev
# 下载nginx源码
RUN wget http://nginx.org/download/nginx-1.18.0.tar.gz && \
tar -xzvf nginx-1.18.0.tar.gz && \
rm -f nginx-1.18.0.tar.gz
# 下载ngx_http_image_filter_module源码
RUN wget https://github.com/nginx/nginx/archive/release-1.18.0.tar.gz && \
tar -xzvf release-1.18.0.tar.gz && \
rm -f release-1.18.0.tar.gz && \
cd nginx-release-1.18.0 && \
./configure --with-compat --add-dynamic-module=../nginx-1.18.0/src/http/modules/ngx_http_image_filter_module && \
make modules && \
cp objs/ngx_http_image_filter_module.so /etc/nginx/modules/
# 添加ngx_http_image_filter_module模块
RUN echo "load_module modules/ngx_http_image_filter_module.so;" > /etc/nginx/conf.d/modules.conf
# 复制配置文件
COPY nginx.conf /etc/nginx/nginx.conf
# 暴露端口
EXPOSE 80
# 启动nginx
CMD ["nginx", "-g", "daemon off;"]
```
其中,nginx.conf是你自己的Nginx配置文件,可以根据需要进行修改。完成Dockerfile的编写后,执行以下命令进行镜像的构建:
```
docker build -t my_nginx .
```
其中,my_nginx是你自己的镜像名称。构建完成后,即可通过以下命令启动容器进行测试:
```
docker run -d -p 80:80 my_nginx
```