运行docker-compose up后Wazuh Indexer出现/entrypoint.sh权限拒绝问题求助
- 运行环境:Proxmox 上的 Debian LXC 容器,系统信息:
Linux debian-wazuh 6.2.16-3-pve #1 SMP PREEMPT_DYNAMIC PVE 6.2.16-3 (2023-06-17T05:58Z) x86_64 GNU/Linux - 使用 Wazuh 4.5.3 单节点 docker-compose 配置部署
- 执行
docker-compose up -d时,wazuh.indexer 容器启动失败,报错内容:
single-node_wazuh.manager_1 is up-to-date
Recreating single-node_wazuh.indexer_1 ... errorERROR: for single-node_wazuh.indexer_1 Cannot start service wazuh.indexer: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec /entrypoint.sh: permission denied: unknown
ERROR: for wazuh.indexer Cannot start service wazuh.indexer: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec /entrypoint.sh: permission denied: unknown
ERROR: Encountered errors while bringing up the project.
- 备注:已知存在相关未解决社区 issue,但未使用 Openshift 环境
方法1:解除 LXC 容器的 AppArmor 限制
编辑 Proxmox 中对应 LXC 容器的配置文件(路径为 /etc/pve/lxc/<容器ID>.conf),添加以下配置项:
lxc.apparmor.profile: unconfined lxc.cap.drop: lxc.cgroup2.devices.allow: a lxc.mount.auto: proc:rw sys:rw
保存后重启容器:
pct restart <容器ID>
方法2:修正挂载目录权限
若 docker-compose 中配置了本地目录挂载到 wazuh.indexer 容器,检查本地挂载目录的权限:
ls -l <你的挂载目录路径>
将目录及子文件的所有者和组改为 1000:1000(对应容器内运行用户):
chown -R 1000:1000 <你的挂载目录路径> chmod -R 755 <你的挂载目录路径>
方法3:强制赋予 entrypoint.sh 执行权限
修改 docker-compose.yml 中 wazuh.indexer 服务的配置,添加命令先赋予脚本执行权限:
services: wazuh.indexer: # 保留原有配置 command: ["sh", "-c", "chmod +x /entrypoint.sh && /entrypoint.sh"]
重新部署容器:
docker-compose down docker-compose up -d
内容的提问来源于stack exchange,提问作者auti

