关于docker-compose启动elasticsearch:7.17.29报"permission denied": unknown错误解决

关于docker-compose启动elasticsearch:7.17.29报"permission denied": unknown错误解决

问题:

docker-compse up -d 启动报错

Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: container_linux.go:329: starting container process caused "permission denied": unknown

但是,加上参数 privileged ,错误立马消失,真是服了,又不让用这个参数。

问题解决:

docker-compose.yml加上这个

js 复制代码
    security_opt:
      - seccomp:unconfined          # 关键:禁用 seccomp 过滤,解决 permission denied
    cap_add:
      - IPC_LOCK                    # 允许内存锁定
      - SYS_RESOURCE                # 允许调整资源限制(nofile, memlock)

然后给文件赋权:

js 复制代码
chmod g+rwx /data/777/es/{data,logs,config}
chgrp 0 /data/777/es/{data,logs,config}

当然更安全的是

方案 1:使用自定义 seccomp 配置(最安全)

原理:创建一个自定义的 seccomp 配置文件,只允许 Elasticsearch 必要的系统调用,而不是完全禁用 seccomp。

步骤

  1. 创建自定义 seccomp 配置文件 elasticsearch-seccomp.json
  2. 在 docker-compose.yml 中引用该文件

配置示例

yaml 复制代码
security_opt:
  - seccomp:./elasticsearch-seccomp.json
相关推荐
bosins3 小时前
WSL2 启动即崩溃?调整超时参数解决 Docker 阻塞问题
linux·docker·wsl
web守墓人4 小时前
【goed/ui】自定义组件设计思想篇
linux·windows·ui·golang
kuroomi4 小时前
Ingress-Nginx与kubernetes 网络
linux·运维·网络·kubernetes
daemon.qiang5 小时前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
2401_869769596 小时前
linux 权限 指令与权限(重启之后)
linux
码农客栈6 小时前
Linux CAN 驱动
linux·驱动开发
GeW8 小时前
红帽RHCE从挂科边缘到一次过,我做对了什么
linux
时空自由民.8 小时前
WSL解决USB 串口连接问题与linux串口权限问题
linux·单片机
OpenPomeloxCommunity8 小时前
Linux驱动基础(三):firmware的声明与加载
linux·操作系统
云计算练习生8 小时前
什么是系统调用?为什么程序访问硬件必须经过它
linux·windows·操作系统·系统调用·操作系统原理