尝试连接docker实例时,客户端(浏览器,jdbc驱动程序)挂起

时间:2016-12-07 16:28:45

标签: docker ubuntu-14.04 tcp-ip

摘要

客户端(浏览器,jdbc驱动器)挂起连接到docker。

上下文

我一直在玩docker并发现一个奇怪的东西:在我的主机操作系统上运行的东西(浏览器,jdbc驱动程序)“挂起”试图连接到docker。

我已经得出结论,问题在于“码头”和“我的设置”与图像本身有关,因为问题出现了:

  • 同时使用Tomcat官方映像以及Microsoft的新Sql Server映像
  • 在我成功运行docker一次后

USECASE

  1. 启动我的笔记本电脑(ubuntu 14.04)
  2. 启动docker(参见附录)
  3. 与浏览器http://localhost:8888/联系。 结果:成功

  4. 关闭泊坞窗实例:'ctrl-c'

  5. 再次启动泊坞窗(重复步骤2)
  6. 尝试连接浏览器 结果:浏览器挂起/旋转20分钟,而不是“中止”
  7. 备注

    • Docker在两个步骤中启动时都没有错误
    • 关机后(步骤4),“netstat -aon | grep 8888”什么都没有显示。所以没有'流氓进程'正在侦听端口888
    • 因为浏览器“挂起”,而不是说“拒绝连接”,所以我总结了Docker监听端口,但没有做任何其他事情。

    版本信息

    • Ubuntu 14.04
    • Docker版本1.9.1,构建a34a1d5

    附录A:Docker文件和命令

    Dockerfile

       Dockerfile: FROM tomcat:8.5.8-jre8-alpine
    

    命令

    创建图片:

       $ docker build -t mytomcat_858 .
    

    开始:

       $ docker run -it --rm -p 8888:8080 mytomcat_858
    

3 个答案:

答案 0 :(得分:0)

你第二次启动Docker的命令是什么? docker start mytomcat_858?如果它第二次正确启动,你能做docker attach mytomcat_858并查看可能的Tomcat错误吗?

答案 1 :(得分:0)

我发现,如果不是根本原因,至少解决方法:重新启动docker守护程序清除了所有网络问题:

# /etc/init.d/docker restart

答案 2 :(得分:0)

尝试使用以下代码运行docker: docker run -d -p 8888:8080 mytomcat_858 然后, 您可以使用docker stop mytomcat_858,并且docker启动mytomcat_858以停止并启动该进程。请勿第二次重复使用docker run命令。