Dockerfile:尝试安装ruby-build时,权限被拒绝

我试图在我的Dockerfile中安装ruby-build作为非root用户,但是我得到了拒绝权限的错误。 我怎样才能让部署用户访问呢?

错误

mkdir: cannot create directory `/usr/local/share/ruby-build': Permission denied 

Dockerfile

 FROM centos:6.6 RUN yum update -y RUN yum install git openssl-devel openssh-server sudo openssl readline-devel readline zlib-devel zlib libxml2-devel libxml2 libxslt-devel libxslt nginx tar gcc libaio libaio-devel -y RUN rpm -Uvh https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chef-12.5.1-1.el6.x86_64.rpm RUN sed -i -e "s/Defaults requiretty.*/ #Defaults requiretty/g" /etc/sudoers RUN mkdir -p /var/run/sshd # RUN adduser deploy -g wheel -p Password1 RUN useradd -m -u 1000 -G wheel deploy && sed -ri 's/^(%wheel.*)(ALL)$/\1NOPASSWD: \2/' /etc/sudoers USER deploy RUN git clone https://github.com/sstephenson/rbenv.git $HOME/.rbenv/ RUN git clone https://github.com/sstephenson/ruby-build.git $HOME/.rbenv/plugins/ruby-build RUN $HOME/.rbenv/plugins/ruby-build/install.sh ENV PATH $HOME/.rbenv/bin:$PATH RUN echo 'eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh RUN echo 'eval "$(rbenv init -)"' >> $HOME/.bashrc RUN echo 'eval "$(rbenv init -)"' >> $HOME/.bash_profile RUN source $HOME/.bash_profile ENV CONFIGURE_OPTS --disable-install-doc RUN rbenv install 2.2.3 RUN rbenv global 2.2.3 RUN bash -l -c 'gem update --system' RUN bash -l -c 'gem update' RUN bash -l -c 'gem install nokogiri -- --use-system-libraries' RUN bash -l -c 'gem install bundler rails-api --no-rdoc --no-ri' RUN touch /etc/sysconfig/network EXPOSE 3306 EXPOSE 22 EXPOSE 80 EXPOSE 3389 

您正试图使用​​deploy用户以root身份安装ruby-build。 按照这里 “作为独立程序安装(高级)”。

你可以尝试这样的事情(使用sudo):

 FROM centos:6.6 RUN yum update -y RUN yum install git openssl-devel openssh-server sudo openssl readline-devel readline zlib-devel zlib libxml2-devel libxml2 libxslt-devel libxslt nginx tar gcc libaio libaio-devel -y RUN rpm -Uvh https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chef-12.5.1-1.el6.x86_64.rpm RUN sed -i -e "s/Defaults requiretty.*/ #Defaults requiretty/g" /etc/sudoers RUN mkdir -p /var/run/sshd # RUN adduser deploy -g wheel -p Password1 RUN useradd -m -u 1000 -G wheel deploy && echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers.d/wheel USER deploy RUN git clone https://github.com/sstephenson/rbenv.git $HOME/.rbenv/ RUN git clone https://github.com/sstephenson/ruby-build.git $HOME/.rbenv/plugins/ruby-build RUN sudo $HOME/.rbenv/plugins/ruby-build/install.sh ENV PATH /home/deploy/.rbenv/bin:$PATH RUN echo 'eval "$(rbenv init -)"' | sudo tee -a /etc/profile.d/rbenv.sh RUN echo 'eval "$(rbenv init -)"' >> $HOME/.bashrc RUN echo 'eval "$(rbenv init -)"' >> $HOME/.bash_profile RUN source $HOME/.bash_profile ENV CONFIGURE_OPTS --disable-install-doc RUN rbenv install 2.2.3 RUN rbenv global 2.2.3 RUN bash -l -c 'gem update --system' RUN bash -l -c 'gem update' RUN bash -l -c 'gem install nokogiri -- --use-system-libraries' RUN bash -l -c 'gem install bundler rails-api --no-rdoc --no-ri' RUN touch /etc/sysconfig/network EXPOSE 3306 EXPOSE 22 EXPOSE 80 EXPOSE 3389