想来,对docker的学习和实践,已经一年有余了,而我关于这样的文章,只有为数不多的几篇。今天借使用docker中发生的一种异常情况为例,写此篇幅。

这个是在centos7.0 、.netcore2.1的环境基础上进行的。这里没有使用dockerfile配置文件的形式,而是直接采用docker命令的形式。

镜像采用的是docker.io/microsoft/dotnet 。

然后运行镜像

docker run -d  --privileged=true  -v /app:/app -p 5000:5000  bde01d9ed6eb dotnet /app/WebApplication1.dll

这样,运行其镜像,理论上是可以的,但是curl访问的时候,就出现了标题所示的问题。

首先通过docker exec命令,在运行的容器中,执行curl请求,访问http://localhost:5000端口,返回结果正常,在当前主机上访问,就会出现connection reset by peer的问题,查看主机正在监听的端口

[root@localhost ~]# netstat -ant|grep 
tcp               127.0.0.1:          0.0.0.0:*               LISTEN
tcp6 ::: :::* LISTEN

可以看到,正在监听,telnet拨号也是连通的状态,

docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
c9a97ffc6cc2 bde01d9ed6eb "dotnet /app/WebAp..." hours ago Up hours xenodochial_jang

容器正在运行,为此,又在docker run执行容器的时候,加上 expose参数,暴露端口,expose=5000,指定了容器暴露的端口,这下应该没问题了吧,可结果依然如题!

想必是网络问题,诸如防火墙、端口映射之类的问题,也想过修改防火墙设置,由于嫌操作麻烦,就未做尝试。

百度,必应一下:结果令人失望,又是镜像问题,又是防火墙问题,都无法解决该问题。

思前想后,不要把问题复杂化了,切换网络吧,docker run的--net命令

docker run -d --net="host"  --privileged=true -v /app:/app -p : bde01d9ed6eb dotnet /app/WebApplication1.dll

这样容器启动后,访问测试:

curl http://localhost:5000

  

当然,这个过程中,还出现了类似权限之类的问题,导致应用无法启动,在此篇中,不再赘述。

具体问题还是具体分析,同一个错误,可能触发问题的原因不尽相同,这就需要我们辩证的去思考,根据自身应用的情况,进行尝试。经过这一段时间的学习,多余docker的理论和实践等方面,有了不少的心得,对应docker的大部分命令都可以烂熟于心的,灵活的应用,在以后的工作中,会在团队内部,推动容器技术的应用。

Docker: connection reset by peer的更多相关文章

  1. docker: read tcp 192.168.7.235:36512->54.230.212.9:443: read: connection reset by peer.

    在学习rancher的时候去下载rancher/agent镜像的时候,出现报错:docker: read tcp 192.168.7.235:36512->54.230.212.9:443: r ...

  2. pytorch bug: for step,data in enumerate(loader)+Connection reset by peer

    单GPU跑的程序,而且是在docker中,迭代了几百步后,程序突然崩掉了, 程序停在了 for step,data in enumerate(loader),下面是部分bug信息 Traceback ...

  3. ”Connection reset by peer“引发的思考

    闲来无事,把之前写的一个游戏服务器框架(<一个java页游服务器框架>),部署到阿里云服务器上,测试运行了下,结果看到后台log中打印出了“Connection reset by peer ...

  4. Error -27780: [GENERAL_MSG_CAT_SSL_ERROR]connect to host "124.202.213.70" failed: [10054] Connection reset by peer [MsgId: MERR-27780]

    解决方案一: 备注: 此方案如果请求响应时间太长,勾选"WinInet replay instead of Sockets(Windows only)"将会导致如下错误:

  5. ab测试出现error: connection reset by peer的解决方案

    我们在使用一些开源程序之前,可能会使用ab工具在服务器或者本地进行一次性能评估,但是很多时候却总是会以失败告终,因为,服务器会拒绝你的ab工具发出的http请求, 出现 error: connecti ...

  6. gem install 出现Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://api.rubygems.org

    在安装了rvm来管理多版本的ruby之后,想在不同环境下安装一些gems,结果gem install puma 之后,发现一次又一次失败. gem install 出现Errno::ECONNRESE ...

  7. OGG-01232 Receive TCP params error: TCP/IP error 104 (Connection reset by peer), endpoint:

    源端: 2015-02-05 17:45:49 INFO OGG-01815 Virtual Memory Facilities for: COM anon alloc: mmap(MAP_ANON) ...

  8. apache ab压力测试报错(apr_socket_recv: Connection reset by peer (104))

    apache ab压力测试报错(apr_socket_recv: Connection reset by peer (104))   今天用apache 自带的ab工具测试,当并发量达到1000多的时 ...

  9. java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)

    java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)

随机推荐

  1. POJ-2253.Frogger.(求每条路径中最大值的最小值,最短路变形)

    做到了这个题,感觉网上的博客是真的水,只有kuangbin大神一句话就点醒了我,所以我写这篇博客是为了让最短路的入门者尽快脱坑...... 本题思路:本题是最短路的变形,要求出最短路中的最大跳跃距离, ...

  2. java_14 Date

    1.Date类的构造方法 Date是表示时间的类 空参构造 public Date() public class Demo { public static void main(String[] arg ...

  3. 深入理解JVM(一)编译openJDK

    此文总结的很不错:https://www.cnblogs.com/ACFLOOD/p/5528035.html 准备openJDK源码和环境 1.在linux和macOS上编译openJDK更加友好, ...

  4. 201771010142 张燕 Java的基本程序设计结构第二周学习总结

    第三章 Java的基本程序设计结构 第一部分 理论知识学习部分 一 基本知识: 1.标识符:由字母.下划线,美元符号和数字组成,第一个符号不能为数字,可以用作类名.变量名.方法名.数组名和文件名等. ...

  5. PC平台在Unity3D中播放硬盘ogg,mp3,wav文件

    Unity3D PC平台本身是支持直接用www读取本地ogg,wav的,但是并不能读取byte[],字节数组格式,这对用习惯了bass,fmod的人来说有点不方便. 搜了一圈发现了一个C#的音频库叫N ...

  6. python模块:xml

    """Core XML support for Python. This package contains four sub-packages: dom -- The W ...

  7. s6-1 传输层概述

    6.1 传输层概述 传输层概述 传输层是整个协议栈(TCP/IP)的核心 传输层的任务是提供可靠的.高效的数据传输 传输层的地位 网络层.传输层和应用层  传输层在应用层和网络层之间提供了无缝接口 ...

  8. docker学习笔记-安装

    安装docker Ubuntu Docker 安装 Docker 支持以下的 Ubuntu 版本: Ubuntu Precise 12.04 (LTS) Ubuntu Trusty 14.04 (LT ...

  9. _ZNote_Qt_QtCreator_Tips_粘贴_历史剪切板

    发现 快捷键 Shift+Command + V 能够出现历史剪切板. 厉害了我的歌

  10. Axure RP Xmind

    官方网站下载地址:http://www.axure.com/download 下载地址:http://www.iaxure.com/2941.html 汉化安装:http://www.iaxure.c ...