Centos7 ::解压缩包httpd-2.4.6-40.el7.centos.1.x86_64时出错

时间:2016-07-01 09:40:36

标签: apache docker dockerfile centos7

我必须为我公司的解决方案构建一个Image Docker。 此Image必须包含一些依赖项,并且必须基于centos7。在这些依赖项中,有httpd。

所以,根据这些解释,我用这个Dockerfile构建了一个带有systemd的CentOS 7映像: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"]

构建图像时出现此错误: Error unpacking rpm package httpd-2.4.6-40.el7.centos.1.x86_64

我也尝试过本地安装rpm包,但是出现了同样的错误:

COPY ./install/* ./install/
RUN yum -y localinstall ./install/httpd-2.4.6-40.el7.centos.1.x86_64.rpm

我搜索解决方案,我在github上发现了一个问题(问题#461),但似乎没有找到解决方案,问题已经解决了。 = /

感谢您的帮助。

1 个答案:

答案 0 :(得分: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