CentOS 7.2运行Docker报错Container command could not be invoked

使用CentOS 7.2执行docker build时,出现报错,在拉取完基础镜像,执行RUM命令时出现以下报错,

...
Step 2 : RUN yum install net-tools -y
 ---> Running in 1afd8dcf21cf
permission denied
Container command could not be invoked.

这其实就是SELinux搞的鬼,因此需要把它关闭。

先确认系统当前selinux的状态,使用以下两个命令查看,

[root@localhost /home/docker]# getenforce
Enforcing
[root@localhost /home/docker]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

Enforcing以及sestatus命令返回结果中Current mode的enforcing表示此时selinux是开启状态,可以使用以下命令关闭它,

[root@localhost /home/docker]# setenforce 0
[root@localhost /home/docker]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

可以看到此时Current mode已经变成permissive,此时再执行docker build则无报错。

但是这种修改方式重启后就会丢失,可以通过修改/etc/sysconfig/selinux的配置,达到永久生效的目的。

vi /etc/sysconfig/selinux

SELINUX=disabled

通过将SELINUX设置为disabled即可,重启后selinux依旧保持关闭状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值