Docker - Зависимости Ruby, установленные во время сборки, недоступны при загрузке контейнера - PullRequest
0 голосов
/ 30 ноября 2018

Я выполняю следующую команду в моем Dockerfile:

    RUN apt-get update && apt-get -y install gnupg2

    RUN gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
    RUN curl -sSL https://get.rvm.io | bash -s
    RUN /bin/bash -l -c ". /etc/profile.d/rvm.sh && rvm install 2.3.1 && rvm use --default 2.3.1 && gem install bundler"
    # some more code
    ENTRYPOINT ["/entrypoint.sh"]

В моем entrypoint.sh я выполняю bundle install.Но выдает ошибку:

комплект не найден

При дальнейшем исследовании я обнаружил, что ни одна из зависимостей, установленных во время сборки Docker, кажется, недоступна во время выполнения контейнера,Я, вероятно, упускаю что-то очень простое.Помощь очень ценится.

1 Ответ

0 голосов
/ 30 ноября 2018

entrypoint.sh не загружает rvm, поэтому он не видит установленный rvm Ruby или его bundler.

Загрузить rvm в entrypoint.sh, добавив. /etc/profile.d/rvm.sh и rvm use .. до использования Ruby.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...