docker build源码安装Nginx报错


docker build源码安装Nginx时,有个步骤./configure build一直走不过去,尝试将./configure写入脚本,也不行。
root@docker01:/data/nginx/centos-nginx# docker build -t nginx-1.29-centos .
Sending build context to Docker daemon 3.072 kB
Sending build context to Docker daemon 
Step 0 : FROM centos:7.1.1503
---> f1dade627e25
Step 1 : MAINTAINER LINCOLN ZHONG
---> Using cache
---> 31ad459daf5e
Step 2 : RUN yum install -y gcc-c++
---> Using cache
---> 28debfed95c5
Step 3 : RUN yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
---> Using cache
---> 0b4a2ae64d13
Step 4 : RUN yum install -y tar
---> Using cache
---> 6fece9fc67ed
Step 5 : RUN yum install -y wget
---> Using cache
---> ff33bf1aa164
Step 6 : RUN cd /
---> Using cache
---> ed10ae3a67c0
Step 7 : RUN wget http://nginx.org/download/nginx-1.2.9.tar.gz
---> Using cache
---> ecc3c0d7960c
Step 8 : RUN tar zxvf nginx-1.2.9.tar.gz -C /usr/sbin
---> Using cache
---> 677838fd45f7
Step 9 : RUN cd /usr/sbin/nginx-1.2.9/
---> Using cache
---> fefa79499ce0
Step 10 : RUN ./configure
---> Running in 2e79135f23db
*****/bin/sh: ./configure: No such file or directory
The command '/bin/sh -c ./configure' returned a non-zero code: 127*****
已邀请:

tuxknight

赞同来自: lincoln_alex


用WORKDIR试试,或者用configure的绝对路径

henryon - 本人从事系统运维,运维架构相关工作多年。对开源技术有强烈兴趣。

赞同来自:


贴下docker file

稻壳

赞同来自:


在本地试试解压nginx.tar.gz,看下目录里面有没有,还是缺啥依赖包之类的

akin520

赞同来自:


你可以把上面RUN执行的,写成一个脚本,让脚本在容器里面执行!

mritd - 一蓑烟雨任平生,也无风雨也无晴......

赞同来自:


我这个菜鸟写的,你看看能不能帮到你
FROM centos:7

MAINTAINER mritd <mritd@mritd.me>

RUN yum update -y && \
yum upgrade -y && \
yum install -y vim less wget curl gcc automake autoconf libtool make gcc-c++ zlib zlib-devel openssl openssl-devel perl perl-devel pcre pcre-devel libxslt libxslt-devel&& \
yum clean all && \
rm -rf /usr/local/src/*

ADD nginx-1.10.1.tar.gz /tmp/

RUN cd /tmp/nginx-1.10.1 && \
./configure --prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--user=nginx \
--group=nginx \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx/nginx.lock \
--http-client-body-temp-path=/tmp/nginx/client \
--http-proxy-temp-path=/tmp/nginx/http_proxy_temp \
--http-fastcgi-temp-path=/tmp/nginx/http_fastcgi_temp \
--http-uwsgi-temp-path=/tmp/nginx/http_uwsgi_temp \
--http-scgi-temp-path=/tmp/nginx/http_scgi_temp \
--with-file-aio \
--with-ipv6 \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-debug && \
make && make install

RUN useradd -M -s /sbin/nologin nginx && \
mkdir -p /tmp/nginx/{client,http_proxy_temp,http_fastcgi_temp,http_uwsgi_temp,http_scgi_temp} && \
mkdir -p /etc/nginx/conf.d && \
rm -rf /tmp/nginx-1.10.1

ADD conf.d/*.conf /etc/nginx/conf.d/

ADD nginx.conf /etc/nginx/

CMD ["/usr/local/nginx/sbin/nginx", "-g", "daemon off;"]

李扯火

赞同来自:


我也遇到同样的问题,请问楼主解决了吗

A HUGE FATTER

赞同来自:


RUN sh -c "./configure"

解决

要回复问题请先登录注册