有没有人成功地对Loopback-4(lb4)应用进行docker化? 我设置了一个基于lb4的应用程序,并试图对其进行docker化,但是尽管Docker似乎正在运行该应用程序,但它并未显示在本地主机上。
我执行的步骤:
但是,该应用程序未显示在http://localhost:3000上 运行容器的输出:
trip@1.0.0预启动/ usr / src / app npm运行构建
trip@1.0.0构建/ usr / src / app lb-tsc es2017 --outDir dist
trip@1.0.0开始/ usr / src / app 节点。
编辑
为了保留问题,将回购中的相关代码(第2步)粘贴到此处,
// index.js
const application = require('./dist');
module.exports = application;
if (require.main === module) {
// Run the application
const config = {
rest: {
port: +process.env.PORT || 3000,
host: process.env.HOST || 'localhost',
openApiSpec: {
// useful when used with OASGraph to locate your application
setServersFromRequest: true,
},
},
};
application.main(config).catch(err => {
console.error('Cannot start the application.', err);
process.exit(1);
});
}
答案 0 :(得分:4)
如@Henry在评论中所建议,在您的index.js中,更改为使用
host: '0.0.0.0',
要详细了解localhost(127.0.0.1)和0.0.0.0之间的区别,请参阅https://superuser.com/questions/949428/whats-the-difference-between-127-0-0-1-and-0-0-0-0
PS
最好在构建阶段使用npm run build
,以便在运行时更快地启动。