首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何暴露码头集装箱端口和从邮递员调用?

如何暴露码头集装箱端口和从邮递员调用?
EN

Stack Overflow用户
提问于 2019-12-28 03:46:59
回答 1查看 3.6K关注 0票数 3

docker-logs

6000/tcp,0.0.0.0:6000->80/tcp vigilant_mclean

尝试使用url http://0.0.0.0:6000/从邮递员那里拨打电话,但没有得到任何响应。

有没有人能解释一下当我们运行容器时,码头是如何工作的?

DockerFile

代码语言:javascript
复制
FROM node:10
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 6000
CMD [ "node", "server.js" ]

server.js

代码语言:javascript
复制
const express = require('express')
const app = express()
const port = 6000
const bodyParser = require('body-parser');
const middleware = ('./middleware');
const middleware2 = ('./middleware2');


app.use(bodyParser.json());
app.get('/', (req, res) => res.send('Hello World!'))
app.post('/v1', middleware, middleware2);


app.listen(port, () => console.log(`Example app listening on port ${port}!`));

module.exports = app;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-28 04:04:27

看起来你的server.js正在监听你容器的6000端口。您需要将容器的6000端口绑定到您主机的6000端口(您当前正在将容器的80端口绑定到您主机的6000端口)

代码语言:javascript
复制
docker run -p 6000:6000 ... <image>

还要确保您的进程正在监听主机0.0.0.0 (而不是本地主机)。容器的localhost与您主机的localhost不同

代码语言:javascript
复制
app.listen('0.0.0.0',port, () => console.log(`Example app listening on port ${port}!`));
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59505414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档