侧边栏壁纸
  • 累计撰写 218 篇文章
  • 累计创建 59 个标签
  • 累计收到 5 条评论

SELINUX 不一致导致 Docker 容器重启失败

barwe
2021-06-23 / 0 评论 / 0 点赞 / 994 阅读 / 563 字
温馨提示:
本文最后更新于 2022-07-14,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

服务器意外断后重启容器报错:

$ docker restart qbt
# Error response from daemon: error while creating mount source path ...

该错误发生在容器与宿主存在 共享目录 时,如果服务器意外关机,容器非正常关闭,其 SELINUX 仍处于开启状态。

如果此时宿主的 SELINUX 被关闭,就会出现这个错误。解决办法是启用宿主的 SELINUX,使其与容器一致。

查看宿主 SELINUX 状态主要有两个命令:getenforcesestatus,后者提供的信息更全面。

宿主系统是 Debian 4,未提供这两个命令,需要额外安装:

## 安装 sestatus
$ apt install policycoreutils
## 安装 getenforce 和 setenforce
$ apt install selinux-utils setools

如果 SELINUX 所处的状态是 disabled,需要激活 SELINUX。

使用 selinux-activate 激活。安装方式:

$ apt install selinux-basics selinux-policy-default auditd

SELINUX 开启后可通过 setenforce 命令切换状态(enforced / permissive):

$ setenforce 0
$ setenforce 1
0

评论区