无法连接到在Docker中运行的Tomcat(连接被拒绝)
我对Docker非常陌生,我试图运行默认的tomcat镜像。 我看到容器正在运行,但是当我尝试从我的Web浏览器中打开容器时,我收到“CONNECTION REFUSED”(连接被拒绝)。
这里发生了什么?
细节
我的Windows 7 PC上安装了Docker Toolbox。 我从boot2docker的旧版本迁移了我的boot2docker虚拟机。 (它没有太多…只是“你好世界”的形象。)
在Docker快速入门terminal中,我可以用下面的命令启动我的新的tomcat容器:
docker run -i -p 8080:8080 --rm tomcat:8-jre8
我能够使用以下命令validationtomcat已启动并正在运行:
docker ps docker exec -i <containerId> bash
然后,在bash shell中:
curl localhost:8080
从这个curl中,我得到了预期的HTML响应。
但是,如果我直接从Docker快速入门terminal运行curl命令:
curl localhost:8080
…我得到“连接拒绝”。
现在这里有些令人费解的事情,如果我跑步
boot2docker ip
…它给我一个错误,“boot2docker-vm”没有运行。 当boot2docker虚拟机closures时,我的容器如何运行? 这里有些事情我真的不明白。
如果我运行“boot2docker”,我可以得到一个IP地址,但是我仍然无法从该IP地址访问tomcat。
您正在使用docker工具箱。 boot2docker已被删除。 现在每个docker守护进程(VM)都由Docker机器pipe理
要查看哪些虚拟机正在运行,请使用该命令
docker-machine ls
它会显示系统中默认运行的虚拟机及其IP地址,您可以通过端口8080从该IP访问Tomcat。了解更多关于docker-machine的信息,了解如何pipe理多个虚拟机等。
- 为什么我得到'无法解决从registry2docker registry.giantswarm.io“'错误?
- Docker-Compose来自守护进程的错误响应
- Docker容器在不同的主机上改变行为
- VirtualBox和Nginx非常缓慢地提供caching的静态JS和CSS文件
- 请求URL中没有主机 – docker组成up -d
- 我可以在生产中使用boot2docker吗? CoreOS Vs boot2docker
- 如何在boot2docker或docker-toolbox上运行sshfs / sftp
- Docker:Web容器和PHP容器之间的通信
- 无法更改在MAC上使用docker-machine安装的主机目录的所有权