我正在尝试使用以下dockerfile在ubuntu docker映像中安装rvm
FROM ubuntu:18.04
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update -q && \
apt-get install -qy procps curl ca-certificates gnupg2 build-essential --no-install-recommends && apt-get clean
RUN curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
RUN curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
RUN curl -sSL https://get.rvm.io | bash -s stable
RUN . /etc/profile.d/rvm.sh
RUN rvm install 1.9.3-dev
但是最后一条命令我得到了
Step 8/9 : RUN rvm install 1.9.3-dev
---> Running in 1b1c6454868d
/bin/sh: 1: rvm: not found
The command '/bin/sh -c rvm install 1.9.3-dev' returned a non-zero code: 127
一个主意,这是怎么了?
答案 0 :(得分:1)
命令. /etc/profile.d/rvm.sh
不会保留到下一个RUN
层中。该shell文件会修改一些内容,例如PATH
变量,而没有它,则rvm
中将找不到PATH
。您可以获取它并在同一层中运行rvm
。
RUN bash -c "source /etc/profile.d/rvm.sh && rvm install 1.9.3-dev"
另外,请参阅this related answer关于Docker中的rvm。