gpt4 book ai didi

docker - 如何从Docker容器中的应用程序发布Web服务?

转载 作者:行者123 更新时间:2023-12-02 19:21:12 25 4
gpt4 key购买 nike

我有一个发布Web服务的应用程序,但我尝试将其部署在Docker容器上,但它不起作用。
我使用javax.jws中的@WebService和@WebMethod声明了我的服务,并使用

Endpoint.publish("http://localhost:8081/doctorservice",
new DoctorServiceImplementation());
我的Dockerfile的内容是
FROM openjdk:8
ADD target/service-publisher.jar service-publisher.jar
EXPOSE 8081
ENTRYPOINT ["java","-jar","service-publisher.jar"]
我创建了docker镜像
docker build -f Dockerfile -t webservice .
并运行它
docker run --name webservice -p 8081:8081 -d webservice 
容器运行并且端口被暴露,但是当我尝试从浏览器访问http:// localhost:8081 / doctorservice?wsdl时,它不起作用。

最佳答案

我找到了解决问题的方法:我不得不将服务发布到0.0.0.0而不是localhost,所以我替换了

Endpoint.publish("http://localhost:8081/doctorservice",
new DoctorServiceImplementation());


Endpoint.publish("http://0.0.0.0:8081/doctorservice",
new DoctorServiceImplementation());

用于在docker容器中运行的应用

关于docker - 如何从Docker容器中的应用程序发布Web服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59580106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com