Docker部署Wazuh容器执行docker-compose up时挂载错误求助
Wazuh Docker单节点部署挂载错误排查
问题场景
通过Docker Compose部署Wazuh单节点环境,执行docker-compose up后触发挂载错误,已尝试删除并重新拉取镜像,问题仍存在。
错误日志
docker-compose up [+] Running 12/12 ⠿ Volume "single-node_filebeat_etc" Created 0.0s ⠿ Volume "single-node_wazuh_queue" Created 0.0s ⠿ Volume "single-node_wazuh_api_configuration" Created 0.0s ⠿ Volume "single-node_wazuh_etc" Created 0.0s ⠿ Volume "single-node_wazuh_logs" Created 0.0s ⠿ Volume "single-node_wazuh_agentless" Created 0.0s ⠿ Volume "single-node_wazuh_var_multigroups" Created 0.0s ⠿ Volume "single-node_wazuh_integrations" Created 0.0s ⠿ Volume "single-node_wazuh_active_response" Created 0.0s ⠿ Volume "single-node_wazuh_wodles" Created 0.0s ⠿ Volume "single-node_filebeat_var" Created 0.0s ⠿ Container single-node-wazuh.manager-1 Created 0.1s Attaching to single-node-wazuh.dashboard-1, single-node-wazuh.indexer-1, single-node-wazuh.manager-1 Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/run/desktop/mnt/host/wsl/docker-desktop-bind-mounts/Ubuntu/8f7109a4f50746c8c4118dd0092c7a6ca75ad9de4a8aa814d81043cbe98a9002" to rootfs at "/usr/share/wazuh-indexer/config/certs/admin.pem": mount /run/desktop/mnt/host/wsl/docker-desktop-bind-mounts/Ubuntu/8f7109a4f50746c8c4118dd0092c7a6ca75ad9de4a8aa814d81043cbe98a9002:/usr/share/wazuh-indexer/config/certs/admin.pem (via /proc/self/fd/14), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
排查与解决步骤
修正挂载类型不匹配
错误核心是挂载规则错误:容器内目标路径是admin.pem文件,但宿主机绑定的是目录。需确保挂载是宿主机文件路径:容器内文件路径的对应关系。检查docker-compose.yml配置
找到wazuh-indexer服务的volumes段,确认admin.pem的挂载配置。正确示例:volumes: - ./certs/admin.pem:/usr/share/wazuh-indexer/config/certs/admin.pem:ro若配置中把宿主机目录挂载到容器内文件路径,直接修改为上述文件到文件的挂载规则。
验证宿主机证书文件
检查宿主机对应路径是否为有效文件:ls -l ./certs/admin.pem若该路径是目录,删除目录后重新生成或放置正确的
admin.pem证书文件。重新生成证书(若缺失)
执行Wazuh证书生成脚本创建所需证书:docker-compose run --rm wazuh-indexer bash -c "/usr/share/wazuh-indexer/bin/wazuh-cert-tool.sh"清理缓存后重新部署
删除无效容器和卷,重新启动服务:docker-compose down -v docker-compose up -d
内容的提问来源于stack exchange,提问作者Kamal bernard
相关产品推荐
相关产品推荐

