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 …”}'