Ответ 1
Поместите эту строку перед командой rpm -i
:
ADD /host/abs/path/to/chrpath-0.13-14.el7.x86_64.rpm /chrpath-0.13-14.el7.x86_64.rpm
Затем вы сможете сделать
RUN rpm -i chrpath-0.13-14.el7.x86_64.rpm
У меня есть следующий файл докеров, я хочу специально установить файл rpm, который доступен на моем диске, поскольку я создаю экземпляр докера. Мой вызов установки rpm выглядит так. команда
RUN rpm -i chrpath-0.13-14.el7.x86_64.rpm
не удается.
Есть ли способ установить rpm файл, доступный локально для нового экземпляра Docker?
FROM centos:latest
RUN yum -y install yum-utils
RUN yum -y install python-setuptools
RUN easy_install supervisor
RUN mkdir -p /var/log/supervisor
RUN yum -y install which
RUN yum -y install git
# Basic build dependencies.
RUN yum -y install autoconf build-essential unzip zip
# Gold linker is much faster than standard linker.
RUN yum -y install binutils
# Developer tools.
RUN yum -y install bash-completion curl emacs git man-db python-dev python-pip vim tar
RUN yum -y install gcc gcc-c++ kernel-devel make
RUN yum -y install swig
RUN yum -y install wget
RUN yum -y install python-devel
RUN yum -y install ntp
RUN rpm -i chrpath-0.13-14.el7.x86_64.rpm
Поместите эту строку перед командой rpm -i
:
ADD /host/abs/path/to/chrpath-0.13-14.el7.x86_64.rpm /chrpath-0.13-14.el7.x86_64.rpm
Затем вы сможете сделать
RUN rpm -i chrpath-0.13-14.el7.x86_64.rpm
Как и дополнение к тому, что другие написали здесь, а не используя:
RUN rpm -i xyz.rpm
Вам может быть лучше сделать это:
RUN yum install -y xyz.rpm
Последний имеет преимущества в том, что (а) он проверяет подпись, (б) загружает любые зависимости и (в) удостоверяется, что YUM знает о пакете. Этот последний бит менее важен, чем два других, но все же стоит.
Предположим, что у вас есть файл Dockerfile в /opt/myproject/.
Затем сначала вам нужно поместить rpm
внутрь /opt/myproject
, а затем добавить
Add /xyz.rpm /xyz.rpm
RUN rpm -i xyz.rpm
my Dockerfile содержит две строки:
[...]
ADD SRC/kernel-3.10.0-327.13.1.el7.x86_64.rpm /tmp/kernel-3.10.0-327.13.1.el7.x86_64.rpm
ADD SRC/kernel-devel-3.10.0-327.13.1.el7.x86_64.rpm /tmp/kernel-devel-3.10.0-327.13.1.el7.x86_64.rpm
[...]
Сбой процесса построения образа с ошибкой "lstat SRC/kernel-3.10.0-327.13.1.el7.x86_64.rpm: нет такого файла или каталога"
Оба файла RPM находятся в папке "SRC", откуда я запускаю "сборку докеров".
В чем проблема?
Спасибо.