Мне нужно создать Image Docker для решения моей компании. Это изображение должно содержать некоторые зависимости и должно основываться на centos7. Среди этих зависимостей есть httpd.Centos7 :: Ошибка распаковки пакета rpm httpd-2.4.6-40.el7.centos.1.x86_64
Итак, я построил образ CentOS 7 с Systemd с этим Dockerfile в соответствии с этим explainations: 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" И я написал другой файл Docker для httpd в соответствии с теми же разъяснениями: Мой httpd/файл докеров
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"]
И я эту ошибку, когда я построил свой образ: Error unpacking rpm package httpd-2.4.6-40.el7.centos.1.x86_64
Я также попытался localinstall пакет оборотов в минуту, но с той же ошибкой, как это:
COPY ./install/* ./install/ RUN yum -y localinstall ./install/httpd-2.4.6-40.el7.centos.1.x86_64.rpm
Я ищу решения, и я нахожу проблему с github (выпуск № 461), но это похоже, решения не найдено, и проблема решена сама собой. =/
Спасибо за помощь.
Вы пробовали «докеры тянут centos: centos7'? Из вопроса, который вы упомянули, похоже, что это проблема с изображением. Я могу создать ваш Dockerfile с максимальной версией (я вытащил прямо перед его созданием). – joelnb
Я только что заметил, что ошибся в своем посте. Я забыл упомянуть, что я нажал первое изображение в репозитории, и я использовал этот образ для создания второго изображения. Я отредактировал свой пост, чтобы исправить себя. И я собираюсь попробовать ваше решение;) – 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