Docker:curl:(7)无法连接到本地主机端口9089:连接被拒绝

我正尝试使用以下命令连接到我的IAM服务器:

curl -i -X POST -H“Content-type:application / json” http:// localhost:9089 / account / list -d'{“jwt”:“jwt_token …”}'

并在这样做,我得到一个错误,如下所示:

curl:(7)无法连接到本地主机端口9089:连接被拒绝

任何build议将不胜感激!

编辑:

> npm info it worked if it ends with ok npm info using npm@5.3.0 npm > info using node@v8.5.0 npm info lifecycle iam@1.0.2~prestart: > iam@1.0.2 npm info lifecycle iam@1.0.2~start: iam@1.0.2 > > > iam@1.0.2 start /usr/src/app > > node server.js > > HTTP listening on port 9089 HTTPS listening on port 9449 

 root@Ubuntu1604-001:/home/src/IAM# docker images REPOSITORY TAG IMAGE ID CREATED SIZE blandry/2 latest f127789f2de7 4 days ago 544MB blandry/3 latest f127789f2de7 4 days ago 544MB 

 root@Ubuntu1604-001:/home/src/IAM# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cc28d00d1667 blandry "npm start" 33 minutes ago Up 33 minutes 0.0.0.0:32768->9089/tcp objective_mclean 

Dockerfile:

 FROM node:8.5.0-wheezy RUN apt-get update WORKDIR /usr/src/app ENV ldap_port 389 ENV http_port 9089 ENV ladp_ip 10.119.226.149 ENV URL 10.119.226.149 ENV authentication eyJhbGciOiJIUz... COPY package.json package-lock.json /usr/src/app/ COPY . . EXPOSE 9089 CMD ["npm", "start"] 

尝试下面

 curl -i -X POST -H "Content-type: application/json" http://localhost: 32768/account/list -d '{"jwt": "jwt_token..."}' 

你的dockerps显示

 root@Ubuntu1604-001:/home/src/IAM# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cc28d00d1667 blandry "npm start" 33 minutes ago Up 33 minutes 0.0.0.0:32768->9089/tcp objective_mclean 

这意味着你没有将9089映射到9089 。 要做到这一点,确保你运行你的容器

 docker run -p 9089:9089 <image> 

如果你正在试图在docker里面做curl,你不需要http前缀。 我昨天有同样的问题,当我试图发送curl name_of_container:port/path/to/the/method时,我成功curl name_of_container:port/path/to/the/method

您已将映射32768主机端口与docker的9089端口映射。

 root@Ubuntu1604-001:/home/src/IAM# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cc28d00d1667 blandry "npm start" 33 minutes ago Up 33 minutes 0.0.0.0:32768->9089/tcp objective_mclean 

使用32768端口而不是9089端口。

curl -i -X POST -H“Content-type:application / json” http:// localhost:32768 / account / list -d'{“jwt”:“jwt_token …”}'