Docker的错误:libselinux与fakesystemd冲突

时间:2017-03-06 03:08:44

标签: docker centos dockerfile

我正在使用Dockerfile构建docker镜像:

FROM       centos:centos7.1.1503
MAINTAINER foo <foo@bar.com>

ENV TZ "Asia/Shanghai"
ENV TERM xterm

RUN \
    yum update -y && \
    yum install -y epel-release &&\
    yum update -y && \
    yum install -y curl wget tar bzip2 unzip vim-enhanced passwd sudo yum-utils hostname net-tools rsync man && \
    yum install -y gcc gcc-c++ git make automake cmake patch logrotate python-devel libpng-devel libjpeg-devel && \
    yum install -y pwgen python-pip && \
    yum clean all

,它显示如下错误:

Error: libselinux conflicts with fakesystemd-1-17.el7.centos.noarch

如果我将FROM centos:centos7.1.1503更改为FROM centos:centos7,则一切正常。那么,我应该怎么做才能使用 centos7.1.1503

我的Linux发行版是 Ubuntu 16.04.1 LTS ,我的docker版本是 1.12.6

1 个答案:

答案 0 :(得分:0)

在进行任何安装之前,尝试在您创建的容器内运行它:

yum swap -y fakesystemd systemd && yum clean all
yum update -y  && yum clean all

或者在您提示的第一次 RUN 之前开始时在 Dockerfile 中:

RUN yum swap -y fakesystemd systemd && yum clean all \
    && yum update -y  && yum clean all

希望有用!