You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ElasticSearch Docker容器始终处于Exited(1)状态无法启动求助

问题描述
  • 环境:Docker + ElasticSearch 7.17.6
  • 执行docker-compose up -d操作无异常,但手动执行sudo docker container start <container-ID>启动ElasticSearch容器时,容器始终处于Exited(1)状态,无法正常运行
错误日志

容器启动日志

执行sudo docker logs <Container-ID>得到以下异常:

Exception in thread "main" java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config/jvm.options
        at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
        at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
        at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
        at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:218)
        at java.base/java.nio.file.Files.newByteChannel(Files.java:380)
        at java.base/java.nio.file.Files.newByteChannel(Files.java:432)
        at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:422)
        at java.base/java.nio.file.Files.newInputStream(Files.java:160)
        at org.elasticsearch.tools.launchers.JvmOptionsParser.readJvmOptionsFiles(JvmOptionsParser.java:168)
        at org.elasticsearch.tools.launchers.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:124)
        at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:86)

系统日志(/var/log/messages)

msg="error detaching from network es_elastic: could not find network attachment for container <Container-ID> to network es_elastic"
Nov  1 13:11:07 ES11 dockerd: time="2022-11-01T13:11:07.567246932-04:00" level=info msg="initialized VXLAN UDP port to 4789 "
Nov  1 13:11:07 ES11 kernel: br0: port 2(<Device_name2>) entered disabled state
Nov  1 13:11:07 ES11 kernel: br0: port 1(<Device_name1>) entered disabled state
Nov  1 13:11:07 ES11 kernel: ov-1-f: renamed from br0
Nov  1 13:11:07 ES11 kernel: device <Device_name2> left promiscuous mode
Nov  1 13:11:07 ES11 kernel: ov-1-f: port 2(<Device_name2>) entered disabled state
Nov  1 13:11:07 ES11 kernel: device <Device_name1> left promiscuous mode
Nov  1 13:11:07 ES11 kernel: ov-1-f: port 1(<Device_name1>) entered disabled state
Nov  1 13:11:07 ES11 kernel: vx-1-f: renamed from <Device_name1>
Nov  1 13:11:07 ES11 kernel: : renamed from <Device_name2>
Nov  1 13:11:07 ES11 avahi-daemon[891]: Withdrawing workstation service for vx-1-f.
Nov  1 13:11:07 ES11 NetworkManager[999]: <info>  [ID.7289] manager: (): new Veth device (/org/freedesktop/NetworkManager/Devices/144)
Nov  1 13:11:07 ES11 kernel: : renamed from eth0
Nov  1 13:11:07 ES11 NetworkManager[999]: <info>  [ID.7693] manager: (): new Veth device (/org/freedesktop/NetworkManager/Devices/145)
Nov  1 13:11:07 ES11 dockerd: time="2022-11-01T13:11:07.ID-04:00" level=warning msg="Error (Unable to complete atomic operation, key modified) deleting object
解决方案

1. 修复jvm.options文件缺失问题

容器启动失败的核心原因是找不到/usr/share/elasticsearch/config/jvm.options,通常是本地挂载的配置目录异常导致:

  • 检查docker-compose.yml中ElasticSearch的配置挂载项,确认本地目录(如./config)是否存在,且包含完整的ES配置文件
  • 如果本地配置目录为空,先从官方镜像拷贝默认配置:
    # 启动临时容器拷贝配置
    docker run --rm -d --name temp-es elasticsearch:7.17.6
    # 拷贝配置到本地es-config目录
    docker cp temp-es:/usr/share/elasticsearch/config ./es-config
    # 停止临时容器
    docker stop temp-es
    
  • 修改docker-compose.yml中的挂载路径,指向拷贝的配置目录:
    services:
      elasticsearch:
        image: elasticsearch:7.17.6
        volumes:
          - ./es-config:/usr/share/elasticsearch/config
          # 其他挂载项(如数据目录)保持不变
    
  • 修复本地配置目录权限(ES容器默认使用UID/GID 1000运行):
    chown -R 1000:1000 ./es-config
    

2. 修复网络关联异常问题

系统日志显示容器与es_elastic网络关联异常,可通过以下方式修复:

  • 检查网络是否存在:
    docker network ls
    
  • 如果网络不存在,手动创建:
    docker network create es_elastic
    
  • 将容器连接到该网络:
    docker network connect es_elastic <container-ID>
    
  • 更稳妥的方式是通过docker-compose重新部署,它会自动管理网络和容器关联:
    docker-compose down
    docker-compose up -d
    

内容的提问来源于stack exchange,提问作者Boodle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 03:55:29