Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法连接到Docker中运行的tomcat(连接被拒绝)_Tomcat_Docker_Windows 7 X64_Boot2docker - Fatal编程技术网

无法连接到Docker中运行的tomcat(连接被拒绝)

无法连接到Docker中运行的tomcat(连接被拒绝),tomcat,docker,windows-7-x64,boot2docker,Tomcat,Docker,Windows 7 X64,Boot2docker,我是Docker的新手,我正在尝试运行默认的tomcat映像。我看到容器正在运行,但当我试图从我的web浏览器点击它时,我得到“连接被拒绝” 这是怎么回事 详细信息 我在Windows 7 PC上安装了Docker工具箱。我从旧版本的boot2docker迁移了boot2docker VM。(上面没有什么内容……只有“hello world”的图片。) 在Docker Quickstart终端中,我可以使用以下命令启动新的tomcat容器: docker run -i -p 8080:8080

我是Docker的新手,我正在尝试运行默认的tomcat映像。我看到容器正在运行,但当我试图从我的web浏览器点击它时,我得到“连接被拒绝”

这是怎么回事

详细信息

我在Windows 7 PC上安装了Docker工具箱。我从旧版本的boot2docker迁移了boot2docker VM。(上面没有什么内容……只有“hello world”的图片。)

在Docker Quickstart终端中,我可以使用以下命令启动新的tomcat容器:

docker run -i -p 8080:8080 --rm tomcat:8-jre8
我能够使用以下命令验证tomcat是否已启动并正在运行:

docker ps
docker exec -i <containerId> bash
从这个卷曲中,我得到了预期的HTML响应

但是,如果直接从Docker Quickstart终端运行curl命令:

curl localhost:8080
…我被“拒绝连接”

现在有一些令人费解的事情。。。如果我跑

boot2docker ip
…它给我一个错误,即“boot2docker vm”未运行。当boot2docker VM关闭时,我的容器如何运行?有件事我真的不明白


如果我运行“boot2docker up”,我可以获得一个IP地址,但仍然无法从该IP地址访问tomcat。

您正在使用docker toolbox。boot2docker的润滑脂已被去除。现在,每个docker守护进程(VM)都由

要查看哪些VM正在运行,请使用以下命令

docker-machine ls

它将显示系统上运行的默认虚拟机及其IP地址,您可以从该IP端口8080访问Tomcat。阅读有关docker machine的更多信息,了解如何管理多个vm等。

我认为您可能需要将端口从boot2docker vm转发到主机。我打开了Oracle vm VirtualBox Manager,看起来我有两个vm。。。一个名为boot2docker,已停止,另一个名为“default”,正在运行。应该有两个虚拟机吗?或者这是因为我从旧的boot2docker版本迁移而来?我应该同时删除它们并让boot2docker创建一个新的吗?我怎样才能让boot2docker在默认情况下做正确的事情,这样我就不必弄乱VirtualBox中的设置了?我会说,清理一切。是的,当您在Windows和Mac上安装boot2docker时,它会为您提供VM,并在VM docker守护进程中运行。Boot2docker应该处于运行状态。谢谢Sachin,你刚刚让我开心了!:)我的荣幸@jayeff:):)
docker-machine ls