客户端(浏览器,jdbc 驱动程序)在尝试连接 docker 实例时挂起
client (browser, jdbc driver) hangs when trying to connect with docker instance
总结
客户端(浏览器,jdbc 驱动器)在连接到 docker 时挂起。
上下文
我一直在玩 docker 并发现了一个奇怪的东西:东西 运行ning 在我的主机 OS(浏览器,jdbc 驱动程序)"hangs" 尝试连接到 docker.
我得出的结论是 'docker' 和 'my setup' 与图像本身有关,因为出现的问题是:
- 具有 Tomcat 官方图像以及 Microsoft 的新 Sql 服务器图像
- 我成功后运行docker一次
用例
- 启动我的笔记本电脑 (ubuntu 14.04)
- 启动docker(见附录)
连接浏览器http://localhost:8888/。
结果:成功
关闭 docker 实例:'ctrl-c'
- 再次启动 docker(重复步骤 2)
- 尝试连接浏览器
结果:浏览器 hangs/spins 20 分钟,然后说 "aborted"
注释
- Docker 两步都没有出错
- 关机(第 4 步)后,"netstat -aon |grep 8888" 什么也没有显示。所以没有 'rogue process' 正在监听端口 888
- 因为浏览器 "hangs" 而不是说 "connection refused",我得出结论 Docker 在端口上侦听,但不做任何其他事情。
版本信息
- Ubuntu 14.04
- Docker 版本 1.9.1,构建 a34a1d5
附录 A:Docker 文件和命令
Docker文件
Dockerfile: FROM tomcat:8.5.8-jre8-alpine
命令
创建图像:
$ docker build -t mytomcat_858 .
开始:
$ docker run -it --rm -p 8888:8080 mytomcat_858
第二次启动 Docker 时,您正在执行什么命令? docker开始mytomcat_858?如果第二次正确启动,你可以docker附加mytomcat_858并查看可能的Tomcat错误吗?
我发现,即使不是根本原因,至少也有解决方法:重新启动 docker 守护进程清除了所有网络问题:
# /etc/init.d/docker restart
使用以下方法尝试 运行ning docker:
docker 运行 -d -p 8888:8080 mytomcat_858
然后,
您可以执行 docker 停止 mytomcat_858 和 docker 启动 mytomcat_858 来停止和启动该过程。不要重复docker运行命令第二次
总结
客户端(浏览器,jdbc 驱动器)在连接到 docker 时挂起。
上下文
我一直在玩 docker 并发现了一个奇怪的东西:东西 运行ning 在我的主机 OS(浏览器,jdbc 驱动程序)"hangs" 尝试连接到 docker.
我得出的结论是 'docker' 和 'my setup' 与图像本身有关,因为出现的问题是:
- 具有 Tomcat 官方图像以及 Microsoft 的新 Sql 服务器图像
- 我成功后运行docker一次
用例
- 启动我的笔记本电脑 (ubuntu 14.04)
- 启动docker(见附录)
连接浏览器http://localhost:8888/。 结果:成功
关闭 docker 实例:'ctrl-c'
- 再次启动 docker(重复步骤 2)
- 尝试连接浏览器 结果:浏览器 hangs/spins 20 分钟,然后说 "aborted"
注释
- Docker 两步都没有出错
- 关机(第 4 步)后,"netstat -aon |grep 8888" 什么也没有显示。所以没有 'rogue process' 正在监听端口 888
- 因为浏览器 "hangs" 而不是说 "connection refused",我得出结论 Docker 在端口上侦听,但不做任何其他事情。
版本信息
- Ubuntu 14.04
- Docker 版本 1.9.1,构建 a34a1d5
附录 A:Docker 文件和命令
Docker文件
Dockerfile: FROM tomcat:8.5.8-jre8-alpine
命令
创建图像:
$ docker build -t mytomcat_858 .
开始:
$ docker run -it --rm -p 8888:8080 mytomcat_858
第二次启动 Docker 时,您正在执行什么命令? docker开始mytomcat_858?如果第二次正确启动,你可以docker附加mytomcat_858并查看可能的Tomcat错误吗?
我发现,即使不是根本原因,至少也有解决方法:重新启动 docker 守护进程清除了所有网络问题:
# /etc/init.d/docker restart
使用以下方法尝试 运行ning docker: docker 运行 -d -p 8888:8080 mytomcat_858 然后, 您可以执行 docker 停止 mytomcat_858 和 docker 启动 mytomcat_858 来停止和启动该过程。不要重复docker运行命令第二次