麒麟V10安装docker后容器拉起报权限错误

2025-11-25 11:40:00
转贴:
https://neusoft.feishu.cn/wiki/GfMRwqGd7iXaigkWtJQcaKl3njr
85

服务器信息

[root@0003 k8s-init]# uname -a
Linux 0003.novalocal 4.19.90-24.4.v2101.ky10.aarch64 #1 SMP Mon May 24 14:45:37 CST 2021 aarch64 aarch64 aarch64 GNU/Linux

[root@0003 k8s-init]# cat /etc/os-release 
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Sword)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Sword)"
ANSI_COLOR="0;31"

运行报错

[root@0003 k8s-init]# docker compose up -d
Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: container_linux.go:328: starting container process caused "permission denied": unknown

试错

挂载目录赋权

容器进程需要访问你映射的宿主机目录,但宿主机目录权限不够,会直接报permission denied。
ls -ld /path/to/your/host/dir
sudo chown -R $USER:$USER /path/to/your/host/dir
sudo chmod -R 755 /path/to/your/host/dir
本次无效❌

SELinux 拦截

当docker run -v挂载目录时,如果没有:Z或:z,SELinux 会直接拒绝容器访问。
volumes:
  - ./data:/app/data:Z
sudo setenforce 0
本次无效❌

启动命令或 entrypoint 无执行权限

docker run -it --entrypoint sh your-image
ls -l /entrypoint.sh
RUN chmod +x /entrypoint.sh
本次无效❌

cgroup 或系统调用受限

通常发生在:
  • 用--privileged=false但程序需要额外权限
  • docker 版本过旧
  • 容器需要 mount、sysctl 等操作
docker run --privileged -it your-image bash
本次无效❌

到此,心态出现了微妙的变化,想曲线救国用podman了,反正容器都通用

先看服务器上有没有podman
podman --version
返回有podman
麒麟服务器自带了podman,单一工具原则我们先尝试删除podman
yum remove podman
卸载后用docker-compose启动项目
docker compose up -d
运行成功✅
文章分类
联系我
联系人: meepo
电话: *****
Email: 1147533288@qq.com
QQ: 1147533288