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

如何让Docker监听其他端口?解决RHEL8上Solr端口冲突

解决DSpace Docker部署的8983端口冲突问题

你的推测完全正确,错误根源就是服务器上已有应用占用了8983端口,导致Docker无法绑定该端口。解决步骤如下:

  1. 定位Solr配置文件
    你执行启动命令时加载了两个Compose文件:docker-compose.yml和docker-compose-rest.yml,你贴出的是前端Angular的配置,而Solr的配置实际在docker/docker-compose-rest.yml文件中。

  2. 修改Solr的端口映射
    打开docker-compose-rest.yml,找到solr服务块里的ports配置项,格式大概是这样:

    ports:
      - published: 8983
        target: 8983
    

    将published的值改成一个未被占用的端口(比如8984),修改后如下:

    ports:
      - published: 8984
        target: 8983
    

    注意:target是容器内部Solr的监听端口,不需要改动,只修改对外暴露的published端口即可。

  3. 重新启动服务
    保存修改后,重新执行启动命令:

    sudo docker-compose -p d7 -f docker/docker-compose.yml -f docker/docker-compose-rest.yml up -d
    
  4. 验证效果
    服务启动后,你可以通过新端口8984访问DSpace的Solr服务;容器内部的其他DSpace服务会通过内部网络直接连接Solr的8983端口,不需要调整其他配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 18:53:22