如何通过Dockerfile安装`passenger-install-nginx-module`

如何通过Dockerfile安装passenger-install-nginx-module

 FROM ubuntu:14.04 MAINTAINER hgkim RUN apt-get update \ && apt-get install -y curl build-essential libpq-dev advancecomp gcc libpcre3 \ libpcre3-dev zlib1g zlib1g-dev libssl-dev gifsicle jhead \ jpegoptim libjpeg-progs optipng pngquant libzmq-dev libevent-dev python-dev \ python-virtualenv python libcurl4-openssl-dev \ && virtualenv circus && /circus/bin/pip install circus-web==0.5 \ && ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime \ && useradd -d /home/newbie -m -s /bin/bash newbie \ && usermod -aG root newbie \ && echo 'ALL ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers \ && curl -L -O http://sourceforge.net/projects/pmt/files/pngcrush/1.7.81/pngcrush-1.7.81.tar.gz \ && tar xvzf pngcrush* \ && cd pngcrush* \ && make \ && mv pngcrush /usr/local/bin/ \ && cd / && curl -L https://github.com/kelseyhightower/confd/releases/download/v0.6.3/confd-0.6.3-linux-amd64 -o confd \ && mv confd /usr/local/bin/confd && chmod +x /usr/local/bin/confd USER newbie RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 \ && \curl -sSL https://get.rvm.io | bash -s stable \ && /bin/bash -l -c "rvm install 2.1.0" \ && /bin/bash -l -c "rvm use 2.1.0" \ && echo "gem: --no-ri --no-rdoc" > /home/newbie/.gemrc ENV PATH /home/newbie/.rvm/bin:/home/newbie/.rvm/gems/ruby-2.1.0/bin:/home/newbie/.rvm/gems/ruby-2.1.0@global/bin:/home/newbie/.rvm/rubies/ruby-2.1.0/bin:$PATH RUN gem install passenger -v 4.0.55 \ && rvmsudo passenger-install-nginx-module \ --auto --prefix=/usr/local/nginx --auto-download --languages ruby CMD bash 

上面是我的dockerfile。

我只想设置乘客nginx模块…

但是我在Dockerfile中的最后一个RUN指令中出现错误

 RUN gem install passenger -v 4.0.55 \ && rvmsudo passenger-install-nginx-module \ --auto --prefix=/usr/local/nginx --auto-download --languages ruby 

首先安装乘客,其次,尝试通过rvmsudo passenger-install-nginx-module命令rvmsudo passenger-install-nginx-module

但docker响应这个错误

错误:

 Unable to autodetect the currently active RVM gem set name. This could happen if you ran this program using 'sudo' instead of 'rvmsudo'. When using RVM, you're always supposed to use 'rvmsudo' instead of 'sudo!'. Please try rerunning this program using 'rvmsudo'. If that doesn't help, please contact this program's author for support. 

虽然我只是试图命令rvmsudo

我该怎么办?

尝试更换RUN乘客安装nginx模块

 RUN /bin/bash -l -c 'passenger-install-nginx-module --auto-download --auto --prefix=/opt/nginx' 

我确定有一种方法来自动化configuration/构build过程 – 但为什么? 你知道passenger-install-nginx-module从源代码下载和编译nginx吗?

为什么不只是添加乘客存储库,并通过apt-get安装? 非常容易

乘客Debian安装指南

什么user2105103说。 你也可以使用客运docker 。

试试这个RUN乘客安装-Nginx模块 – 自动下载–auto –prefix = / opt / nginx