想来,对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. [leetcode]54. Spiral Matrix螺旋矩阵

    Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or ...

  2. [leetcode]13. Roman to Integer罗马数字转整数

    Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 ...

  3. 计算a月的第b个星期c

    计算从y1到y2年a月的第b个星期c的日期 #include<iostream> using namespace std; bool isLeap(int y) { == || y%==& ...

  4. 一个JAVA程序员经常访问的网站

    综合技术网站: CSDN            http://www.csdn.net/ 51CTO             http://www.51cto.com/ 开源中国社区   http:/ ...

  5. MFC里面解析json文件格式

    CString strTemp; //CString ->string; string stringMsg = (LPCSTR)(CStringA)strTemp; //string -> ...

  6. 重写equals和hashCode的方法

    为什么要有 hashCode引用 我们以"HashSet 如何检查重复"为例子来说明为什么要有 hashCode: 当你把对象加入 HashSet 时,HashSet 会先计算对象 ...

  7. JNI 记

    Java Native Interface(JNI)从零开始详细教程  ================================================================ ...

  8. windows下多tomcat部署

    两种方式: 第一种是修改tomcat下很多配置文件,且配置环境变量: 第二种不配tomcat环境变量,通过修改server.xml文件即可: 本篇讲解第二种方式: 首先说下如何修改tomcat控制台标 ...

  9. powershell ParameterSet解析

    自定义PowerShell函数,在设置参数的时候中,可以将参数设置为某些情况下可选,某些条件下又设置为必选. 示例代码从网站复制的. function Connect-Somewhere { [Cmd ...

  10. STM32F1xx寄存器版库

    文件下载链接 https://files.cnblogs.com/files/listenscience/STM32F1xx%28MDK5%292018.10.20.rar