无法从外部访问已发布端口的Docker容器

时间:2017-11-25 22:40:11

标签: ruby-on-rails docker docker-compose port dockerfile

我的Docker容器在端口3000上运行Rails,我将端口发布到端口8900。参见:

  

$ docker-compose ps

Name                    Command               State            Ports
rails_poc_1   /bin/sh -c puma -C config/ ...   Up       0.0.0.0:3000->8900/tcp

但是,访问http://localhost:8900时,我的浏览器会显示ERR_CONNECTION_REFUSED

curl来自3000的容器内的端口docker exec 8fcceed1d477 curl localhost:3000时,我得到一个有效的响应,证明Rails正常工作。

我忽略了什么吗?

1 个答案:

答案 0 :(得分:1)

我认为你的端口映射已经颠倒了。你的ps行看起来应该更像:

0.0.0.0:8900->3000/tcp

如果要在容器外访问3000作为8900