私の会社のソリューションのためにImage Dockerをビルドする必要があります。 この画像にはいくつかの依存関係が含まれていて、centos7に基づいている必要があります。これらの依存関係の中にはhttpdがあります。Centos7 ::エラーパッケージ解凍rpmパッケージhttpd-2.4.6-40.el7.centos.1.x86_64
ので、私はこれらのexplainationsに応じてこれにsystemdにとCentOSの7の画像をDockerfile建て:https://hub.docker.com/_/centos/
マイcentos7/Dockerfile
FROM centos:centos7 ENV container docker RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; \ do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ rm -f /lib/systemd/system/multi-user.target.wants/*;\ rm -f /etc/systemd/system/*.wants/*;\ rm -f /lib/systemd/system/local-fs.target.wants/*; \ rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ rm -f /lib/systemd/system/basic.target.wants/*;\ rm -f /lib/systemd/system/anaconda.target.wants/*; RUN yum -y install deltarpm && yum clean all RUN yum -y update && yum clean all RUN yum -y install vim wget tar && yum clean all VOLUME ["/sys/fs/cgroup"] CMD ["/usr/sbin/init"]
そして、私は私にこのイメージをプッシュしますリポジトリ "agilium/centos7" そして私は同じ説明に従ってhttpdのための他のDockerfileを書きました: 私のhttpd/Dockerfile
FROM agilium/centos7 RUN yum -y update && yum clean all RUN yum -y install httpd; yum clean all; systemctl enable httpd.service EXPOSE 80 CMD ["/usr/sbin/init"]
そして、私は私のイメージ構築されたとき、私はこのエラーを持っている:私もrpmパッケージをlocalinstallしようとしましたが、同じエラーで、このよう Error unpacking rpm package httpd-2.4.6-40.el7.centos.1.x86_64
を:
COPY ./install/* ./install/ RUN yum -y localinstall ./install/httpd-2.4.6-40.el7.centos.1.x86_64.rpm
解決策を検索してgithub(問題#461)に問題が見つかりましたが、解決策が見つからず、問題が解決したようです。 =/
ありがとうございました。
「ドッカープルセコス:セントロス7」を試しましたか?あなたが言われた問題から、それはイメージの問題だったようです。あなたのDockerfileを最新版でうまく構築することができます(ビルドする前に引っ張りました)。 – joelnb
私はちょうど私が私の記事で間違いをしたことに気づいた。最初のイメージをリポジトリにプッシュし、このイメージを使用して2番目のイメージを作成したことを忘れてしまいました。私は自分自身を修正するために自分の投稿を編集しました。 そして私はあなたの解決策を試してみよう) – Clement
私はあなたのソリューションを試してみました。イメージをビルドする前に 'docker pull centos:centos7'を作ったのですが、' FROM agilium/centos7'ではなく 'FROM centos:centos7 '。私は同時に同じエラーがあります。 問題が解消されない場合、これは私のビルドラインです: 'docker build --force-rm = true --pull = true --tag =" agilium/centos7_httpd "-f Dockerfile" $(pwd) "' – Clement