解决docker 报错“process_linux.go:430;container init caused “write /proc/self/attr/keycreate;permssion...

报错截图:
在这里插入图片描述

原因:

SELinux 有三种工作模式:

  1. enforcing:强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中。

  2. permissive:宽容模式。违反 SELinux 规则的行为只会记录到日志中。一般为调试用。

  3. disabled:关闭 SELinux。

selinux是linux为了系统安全性做的控制,会控制用户可以访问、读取、修改哪些文件,截图中,write /proc/self/attr/keycreate文件没有权限,就是被selinux限制了

解决:

vim /etc/selinux/config
在这里插入图片描述

将/etc/selinux下的config文件中的SELINUX属性改为disabled;
然后重启服务器即可

### 解决Docker创建容器时出现OCI运行时错误的问题 当遇到 `docker daemon OCI runtime create failed` 错误时,通常是因为底层的 Linux 容器初始化过程中出现了问题。以下是可能的原因以及解决方案: #### 1. 文件路径配置错误 如果在 Docker 配置文件中指定了不正确的路径或者权限不足,则可能导致此错误。例如,在引用中的命令提到向 `/opt/course/22/security-issues` 添加内容[^1],这可能会引发权限或其他相关问题。 确保目标目录存在并具有写入权限: ```bash sudo mkdir -p /opt/course/22/ sudo chmod 777 /opt/course/22/ echo "Dockerfile-mysql" >> /opt/course/22/security-issues ``` #### 2. MySQL 启动参数设置不当 MySQL 的认证插件默认可能是 `caching_sha2_password`,而某些客户端可能无法支持该模式。因此可以尝试切换到更兼容的 `mysql_native_password` 认证方式[^2]。 修改 MySQL 配置文件(通常是 `/etc/mysql/my.cnf` 或者 `/etc/my.cnf`),添加如下内容: ```ini [mysqld] default_authentication_plugin=mysql_native_password ``` 重启服务后重新构建镜像: ```bash docker-compose down && docker-compose up --build ``` #### 3. GPU 和 NVIDIA 驱动冲突 如果环境中涉及 CUDA 或 NVIDIA 驱动程序,并且这些组件被删除或损坏,也可能导致 OCI 运行失败。根据引用描述,重装 CUDA 及其依赖项能够解决问题[^3]。 执行以下操作来清理旧版本驱动和工具链: ```bash sudo apt-get purge nvidia* sudo rm -rf /usr/local/cuda* curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update sudo apt-get install cuda-11-1 nvidia-container-toolkit sudo systemctl restart docker ``` 完成上述步骤之后再次测试容器启动情况。 --- ### 总结 通过排查文件系统访问控制、调整数据库连接协议以及修复图形处理单元环境等方式可有效缓解此类异常状况的发生概率。具体实施需依据实际场景灵活选用相应措施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铁墩墩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值