第一次使用Docker所以我可能犯了一个新手的错误,但是这里有。我正在尝试使用reactioncommerce/reaction
图片,它似乎正常运行。但是,我似乎无法从主机连接到服务器。
我按照Docker Hub page的建议运行docker run -p :8080 -it reaction
,然后尝试通过主机上的浏览器转到http://localhost:8080
来访问它,但无法建立连接。我哪里错了?
我在Linux Mint主机上运行。
答案 0 :(得分:7)
我认为您的问题将是-p
(publish)标志。假设您的容器实际上正在侦听端口8080 - 尝试-p 8080:8080
,它将localhost:8080映射到您的容器。 (从技术上讲,它将映射0.0.0.0:8080
,这是所有地址 - 包括外部的)
但我想如果您没有在左侧指定某些内容,那么您将获得一个随机端口号映射 - 您应该能够在docker ps
或docker port
中看到这一点。命令。
当您运行docker run -it
时,您将以交互方式启动它 - 除非您另行指定,否则应该启动'在docker文件中定义的任何内容'。我认为这将是你想要的服务,但我不知道那个应用程序。您还可以使用在后台运行容器的-d
标志。
答案 1 :(得分:0)
我相信这个命令会起作用:
docker run -p 127.0.0.1:8080:8080 -it reaction
我尝试使用本地网络服务器做同样的事情,但是在我将地址localhost
添加到我的127.0.0.1
命令之前,无法使用-p
连接到我的容器。
您的/etc/hosts
文件应包含以下条目:
127.0.0.1 localhost
这将解析域localhost
,允许您使用它来访问您的服务器。