【问题标题】:How could I run nginx-naxsi in baseimage?如何在 baseimage 中运行 nginx-naxsi?
【发布时间】:2016-10-17 04:18:16
【问题描述】:
我尝试过 baseimage 0.9.19 (Ubuntu 16.04) 和 0.9.18 (Ubuntu 14.04)。
0.9.18 得到:
apt-get purge nginx-*
apt-get install nginx-naxsi
The following packages have unmet dependencies:
nginx-naxsi : Depends: nginx-common (= 1:1.6.3-8.5.0.7~trusty1) but 1:1.10.1-8.5.0.30~trusty1 is to be installed
E: Unable to correct problems, you have held broken packages.
0.9.19 得到:
no package: nginx-naxsi
而且编译似乎在 baseimage 中不起作用:
https://github.com/nbs-system/naxsi/wiki/naxsi-compil
【问题讨论】:
标签:
ubuntu
nginx
docker
phusion
【解决方案1】:
我从 Github 得到了答案:
https://github.com/phusion/baseimage-docker/issues/344#issuecomment-254717556
这是@notpeter 给我的Dockerfile:
################################################# ######
# Nginx + naxsi docker baseimage (ubuntu xenial 16.06) #
################################################# ######
FROM phusion/baseimage:0.9.19
维护者彼得·特里普“peter.tripp@gmail.com”
环境 NGINX_VERSION 1.10.2
ENV NAXSI_VERSION 0.55.1
CMD ["/sbin/my_init"]
运行 apt-get 更新 && \
apt-get install -y tar git vim nano wget net-tools build-essential \
libpcre3-dev libxslt1-dev libgd2-xpm-dev libgeoip-dev libssl-dev
运行 cd /tmp/ && \
wget https://github.com/nbs-system/naxsi/archive/$NAXSI_VERSION.tar.gz && \
wget https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz && \
tar xf $NAXSI_VERSION.tar.gz && \
tar xf nginx-$NGINX_VERSION.tar.gz && \
cd nginx-$NGINX_VERSION && \
./configure --conf-path=/etc/nginx/nginx.conf \
--add-module=../naxsi-$NAXSI_VERSION/naxsi_src \
--error-log-path=/var/log/nginx/error.log \
--http-client-body-temp-path=/var/lib/nginx/body \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-log-path=/var/log/nginx/access.log \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--lock-path=/var/lock/nginx.lock \
--pid-path=/var/run/nginx.pid \
--with-http_ssl_module \
--没有-mail_pop3_module \
--没有-mail_smtp_module \
--没有-mail_imap_module \
--没有-http_uwsgi_module \
--没有-http_scgi_module \
--with-ipv6 \
--前缀=/usr && \
制作 && \
进行安装 && \
mkdir -p /var/lib/nginx/{body,proxy}
运行回声“守护进程关闭;” >> /etc/nginx/nginx.conf && \
mkdir -p /etc/service/nginx && \
echo "#!/usr/bin/env bash\n\nnginx" > /etc/service/nginx/run && \
chmod +x /etc/service/nginx/运行
# 清理。
运行 apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*