关于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
相关推荐
一只积极向上的小咸鱼8 小时前
Codex 在 VS Code + ModelArts 场景下的登录与配置总结
linux·运维·windows
Waay13 小时前
Linux Shell 知识点考评(一):grep 文本搜索(附答案)
linux·运维·服务器
jamon_tan13 小时前
Linux下串口RAW模式设置
linux
碧海银沙音频科技研究院13 小时前
基于VMware虚拟机ubuntu开发博通BK7258方法
linux·运维·ubuntu
云边有个稻草人16 小时前
【Linux系统】进程地址空间
linux·虚拟地址空间·进程地址空间·虚拟地址空间是怎么实现的?·为什么要有虚拟地址空间?·怎么理解虚拟地址空间?
想唱rap20 小时前
传输层协议TCP
linux·运维·服务器·网络·c++·tcp/ip
曦夜日长21 小时前
Linux系统篇,权限(二):缺省权限、最终权限的计算、文件隔离的两种方式
linux·运维·服务器
云水一下21 小时前
黑客的“猜密码”游戏:SSH暴力破解实战与Linux安全加固
linux·渗透测试·ssh·暴力破解
kebidaixu21 小时前
OK3568开发板更新Ubuntu22.04方法总结
linux·运维·服务器
晚风予卿云月1 天前
【Linux】Linux2.6 O(1)调度器超详解 | 进程切换+内核链表 | 面试必背
linux·运维·面试