无法从主机连接到Docker容器
只是第一次使用Docker,所以我很可能犯了一个菜鸟的错误,但是在这里。 我正在尝试使用reactioncommerce/reaction
图像,它似乎运行正常。 但是,我似乎无法从主机连接到服务器。
我正在运行docker run -p :8080 -it reaction
如在Docker Hub页面上build议的,然后尝试通过在主机上的浏览器上访问http://localhost:8080
来访问它,但是不能build立连接。 我哪里错了?
我在Linux Mint主机上运行。
我认为你的问题将是你的-p
( 发布 )标志。 假设你的容器实际上正在监听端口8080 – 尝试-p 8080:8080
这将映射localhost:8080到你的容器。 (好吧,从技术上讲它会映射0.0.0.0:8080
这是所有地址 – 包括外部)
但是我认为如果你没有在左边指定一些东西,你会得到一个随机的端口号映射 – 你应该能够在docker ps
看到这个或者使用docker port
命令。
当你运行docker run -it
你会以交互方式启动它,除非你另有指定,否则它应该启动“docker文件中定义的任何东西”。 我认为这将是一个你想要的服务,但我不知道这个应用程序。 您也可以使用在后台运行容器的-d
标志。
我相信这个命令将起作用:
docker run -p 127.0.0.1:8080:8080 -it reaction
我试图用本地web服务器做同样的事情,但是不能使用localhost
连接到我的容器,直到我将地址127.0.0.1
添加到我的-p
命令。
您的/etc/hosts
文件应该包含以下条目:
127.0.0.1 localhost
这将解决域localhost
允许您使用它来访问您的服务器。