我的 docker 配置需要映射端口以供外部访问,但是在尝试安装数据中心中央 war 文件时,mlDeploy
遇到mlRedeploy
问题,端口不可用:
Task :mlDeployApp
Creating custom rewriters for staging and job app servers
Loading REST options for staging server
Initializing ExecutorService
Loading default query options from file default.xml
Shutting down ExecutorService
Loading REST options for jobs server
Initializing ExecutorService
Loading traces query options from file traces.xml
Shutting down ExecutorService
Writing traces query options to MarkLogic; port: 8013
Error occurred while loading modules; host: localhost; port: 8013;
cause: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:8013
...
- 出了什么问题:任务“:mlDeployApp”执行失败。
加载 REST 模块时出错:加载模块时出错;主机:本地主机;端口:8013;原因:java.net.ConnectException:无法连接到 localhost/127.0.0.1:8013
Docker 文件内容
FROM store/marklogicdb/marklogic-server:10.0-7-dev-centos WORKDIR /tmp EXPOSE 7997-8040 EXPOSE 8080 EXPOSE 9000 CMD /etc/init.d/MarkLogic start && tail -f /dev/null
原始 docker run 命令:
docker run -d --name=marklogic10.0-7_local -p 7997-8040:7997-8040 -p 8080:8080 -p 9000:9000 marklogic-initial-install:10.0-7-dev-centos
修改后的 docker run 命令:
docker run -d --name=marklogic10.0-7_local -p 7997-8012:7997-8012 -p 8014-8040:8014-8040 -p 8043:8013 -p 8090:8080 -p 9000:9000 marklogic-initial-安装:10.0-7-dev-centos
注意:我最初在端口 8080 上遇到了同样的问题,但将其映射到端口 8090 从而解决了问题。对端口 8013 执行相同的操作不起作用。