我已经创建了一个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"]
答案 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映像中