次の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
この行を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
後者には、(a)署名をチェックし、(b)依存関係をダウンロードし、(c)YUMがパッケージを確実に認識できるという利点があります。この最後のビットは他の2つほど重要ではありませんが、それでも価値はあります。
/opt/myproject/.
でDockerfileを利用できるとします。次に、最初にrpm
を/opt/myproject
に入れてから追加する必要があります
Add /xyz.rpm /xyz.rpm
RUN rpm -i xyz.rpm
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」フォルダー内にあります。
何が問題ですか??
ありがとう。