web-dev-qa-db-ja.com

Dockerインスタンスを構築するときにローカルrpmファイルをインストールする方法は?

次のdockerファイルがあります。dockerインスタンスを作成しているときにディスク上で使用可能なrpmファイルを具体的にインストールしたいと思います。 rpmインストールの私の呼び出しは次のようになります。コマンドRUN rpm -i chrpath-0.13-14.el7.x86_64.rpmは失敗します。

新しいDockerインスタンスにローカルで使用可能なrpmファイルをインストールする方法はありますか?

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
13
Subodh Nijsure

この行を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
23
Vitaly Isaev

以下を使用するのではなく、他の人がここに書いたものとして、および補遺

RUN rpm -i xyz.rpm

これを行う方が良いかもしれません:

RUN yum install -y xyz.rpm

後者には、(a)署名をチェックし、(b)依存関係をダウンロードし、(c)YUMがパッケージを確実に認識できるという利点があります。この最後のビットは他の2つほど重要ではありませんが、それでも価値はあります。

6
Keith Gaughan

/opt/myproject/.でDockerfileを利用できるとします。次に、最初にrpm/opt/myprojectに入れてから追加する必要があります

Add /xyz.rpm /xyz.rpm

RUN rpm -i xyz.rpm
3
amit srivastava

dockerfileには次の2行が含まれています。

[...]
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:no such file or directory」で失敗する

両方のRPMファイルは、「docker build」を実行している「SRC」フォルダー内にあります。

何が問題ですか??

ありがとう。

0