Я следую этим инструкциям по созданию docker
образа из python3.7
, который также содержит ruby
- мне нужно 2.1.5
специально (не спрашивайте).
Итак, мой Dockerfile
такой:
FROM python:3.7
SHELL ["/bin/bash", "-c"]
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
curl \
dirmngr \
gnupg2 \
&& curl -sSL https://rvm.io/mpapis.asc | gpg2 --import - \
&& gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
&& curl -sSL https://get.rvm.io | bash -s stable \
&& usermod -a -G rvm root \
&& source /etc/profile.d/rvm.sh \
&& rvm install ruby-2.1.5
Сборка завершается успешно, но конечное изображение не имеет ruby
на своем пути, что является результатом этой команды source /etc/profile.d/rvm.sh
, фактически не имеющейэффект во время сборки.
Как только я получаю cmd в контейнере и запускаю его, ruby
становится доступным.
Почему это так?