2016-07-01 1 views
0

Мне нужно создать 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), но это похоже, решения не найдено, и проблема решена сама собой. =/

Спасибо за помощь.

+0

Вы пробовали «докеры тянут centos: centos7'? Из вопроса, который вы упомянули, похоже, что это проблема с изображением. Я могу создать ваш Dockerfile с максимальной версией (я вытащил прямо перед его созданием). – joelnb

+0

Я только что заметил, что ошибся в своем посте. Я забыл упомянуть, что я нажал первое изображение в репозитории, и я использовал этот образ для создания второго изображения. Я отредактировал свой пост, чтобы исправить себя. И я собираюсь попробовать ваше решение;) – Clement

+0

Итак, я просто попробовал ваше решение, и перед созданием своего образа я сделал «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

ответ

0

Если у вас есть эта проблема попробовать из Centos 6, я попытался пойти на devicemapper вместо AUFS и мой Docker разбился, и я не был в состоянии перезапустить его или что-то ...

Я сделал Dockerfile, который работайте, по крайней мере, до тех пор, пока вы не попадете в контейнер:

 FROM centos:6 

    RUN yum -y update \ 
    && yum install -y vim \ 
    && yum install -y httpd \ 
    && yum install -y mysql \ 
    && yum install -y php 

    EXPOSE 80 443 3306 

    CMD service httpd start \ 
    && clear \ 
    && bash 

 Смежные вопросы

  • Нет связанных вопросов^_^