关于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
相关推荐
Championship.23.246 小时前
Linux 3.0 锁机制与故障排查详解
linux·运维·服务器
天疆说6 小时前
Zotero Connector 在 Edge 里找不到桌面 Zotero(Linux / Zotero 9.0.6 / Edge 150)
linux·前端·edge
风123456789~8 小时前
【Linux专栏】ls 排除某个文件
linux·运维·服务器
IT曙光8 小时前
ubuntu apt-get离线源制作
linux·ubuntu
其实防守也摸鱼9 小时前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
懒鸟一枚9 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
Darkwanderor10 小时前
对Linux的进程控制的研究
linux·运维·c++
bksczm13 小时前
linux之线程概念和控制
linux·开发语言·c++
爱网络爱Linux13 小时前
Linux proc 目录安全加固
linux·运维·rhce·rhca·红帽认证·proc 目录安全加固
hehelm13 小时前
Linux网络编程—TCP字典翻译系统
linux·开发语言·网络·c++·tcp/ip