如何让Docker监听其他端口?解决RHEL8上Solr端口冲突
解决DSpace Docker部署的8983端口冲突问题
你的推测完全正确,错误根源就是服务器上已有应用占用了8983端口,导致Docker无法绑定该端口。解决步骤如下:
定位Solr配置文件
你执行启动命令时加载了两个Compose文件:docker-compose.yml和docker-compose-rest.yml,你贴出的是前端Angular的配置,而Solr的配置实际在docker/docker-compose-rest.yml文件中。修改Solr的端口映射
打开docker-compose-rest.yml,找到solr服务块里的ports配置项,格式大概是这样:ports: - published: 8983 target: 8983将
published的值改成一个未被占用的端口(比如8984),修改后如下:ports: - published: 8984 target: 8983注意:
target是容器内部Solr的监听端口,不需要改动,只修改对外暴露的published端口即可。重新启动服务
保存修改后,重新执行启动命令:sudo docker-compose -p d7 -f docker/docker-compose.yml -f docker/docker-compose-rest.yml up -d验证效果
服务启动后,你可以通过新端口8984访问DSpace的Solr服务;容器内部的其他DSpace服务会通过内部网络直接连接Solr的8983端口,不需要调整其他配置。
内容的提问来源于stack exchange,提问作者Chanel
相关产品推荐
相关产品推荐

