docker映像正在运行,但无法访问Spring Boot应用程序中的其余端点

时间:2018-08-09 05:26:48

标签: spring docker spring-boot

我已经创建了一个spring-boot应用程序,当使用maven生成并运行它时,它已经可以正常工作了。但是,当我运行我的应用程序的docker时,它正在控制台中运行,但是我无法访问任何REST终结点浏览器,从而导致页面未找到错误。

这是我的Dockerfile

的内容
FROM java:8
EXPOSE 5555:5555
ADD /hotline-api/target/hotline-api.jar hotline-api.jar
ENTRYPOINT ["java","-jar","hotline-api.jar","--spring.profiles.active=test"]

4 个答案:

答案 0 :(得分:4)

运行图像时,您还需要发布端口

var itc = require("itunesconnect");
var Report = itc.Report;

// Connect to iTunes 
var itunes = new itc.Connect('apple@id.com', 'password');

// Simple ranked report 
itunes.request(Report.ranked().time(30, 'days'), function(error, result) {
    console.log(result);
});

// Or 
itunes.request(Report('timed').time(4, 'weeks').interval('week'), function(error, result) {
    console.log(result);
});

确保您还根据配置文件(默认/开发/测试)从Connect { options: { baseURL: 'https://itunesconnec apiURL: 'https://reportingitc2 loginURL: 'https://idmsa.apple appleWidgetKey: '22d448248055b concurrentRequests: 2, errorCallback: [Function: erro loginCallback: [Function: logi _cookies: [], _queue: { tasks: [], concurrency: 2, saturated: null, empty: null, drain: null, started: false, paused: true, push: [Function: push], kill: [Function: kill], unshift: [Function: unshift], process: [Function: process], length: [Function: length], running: [Function: running], idle: [Function: idle], pause: [Function: pause], resume: [Function: resume] } } 文件中公开了相同的端口。

答案 1 :(得分:1)

使用docker机器在Windows 7上的docker设置也遇到了同样的问题。 REST端点已映射到Docker机器的IP地址。我通过使用以下方法获取docker machine ip来解决它:

  

docker-machine ip

然后使用它来访问REST端点,例如:

  

192.168.12.100:8080/登录

答案 2 :(得分:0)

添加更多参数:

ENTRYPOINT ["java","-jar","hotline-api.jar","--spring.profiles.active=test","--server.port=5555"]

然后构建容器:

docker run -p 5555:5555 IMAGE_NAME

答案 3 :(得分:0)

确保您在/hotline-api/target/hotline-api.jar处有罐子 并通过gradle或maven构建来确保存在最新的jar。 如果您进行引导运行,则jar不会被更新,这意味着您新配置的端点将不会出现在jar中,因此不会出现在docker映像中