docker 运行报错:/bin/bash: error while loading shared libraries: libtinfo.so.6: cannot open shared object file: Permission denied

现象:启动docker容器时,启动不成功。显示没有权限

报错如下:

 原因:共享库没有权限导致,如果是普通用户,则尝试切换到root用户尝试,如果是root用户还是提示这个错误,就要检查防火墙和SElinux

[root@localhost opt]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
[root@localhost opt]# getenforce 
Enforcing

由此可知是SEliunx没有关闭导致容器启动失败,临时开发SELinux

[root@localhost opt]# setenforce 0
[root@localhost opt]# docker run -it centos /bin/bash
[root@eff214edebe5 /]#     #表明成功进入到容器中

启动成功。建议永久关闭

[root@localhost ~]# vi /etc/selinux/config
....
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled    #改成disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
....

修改后需重启服务器。

备注:具体问题需根据生产环境配置。以上仅供参考

猜你喜欢

转载自www.cnblogs.com/wangzy-tongq/p/12797536.html