关于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
相关推荐
ltl7 分钟前
校验和与数据完整性:CRC32C、xxHash 与端到端校验
linux
我是小灰灰吖23 分钟前
Ubuntu 22.04 设置 CPU 性能模式:提升系统响应速度
linux·ubuntu
ltl24 分钟前
持续性能分析:Parca、Pyroscope、Grafana Beyla
linux
ltl27 分钟前
Direct I/O 与 O_DIRECT:绕过缓存的得与失
linux
盐焗鹌鹑蛋2 小时前
【Linux】进程控制
linux
盐焗鹌鹑蛋3 小时前
【Linux】进程程序替换
linux
鸠摩智首席音效师3 小时前
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead
linux
tianyuanwo4 小时前
DevOps主机管理员视角:企业级Linux主机权限管理策略与实践
linux·服务器·devops
郭涤生4 小时前
Windows + Ubuntu 双系统启动故障修复
linux·windows·ubuntu
三言老师4 小时前
CentOS8 Firewalld 高级规则中级实操教程
linux·运维·服务器·网络·centos