krrish 7 rokov pred
rodič
commit
52c14d7a08

+ 25 - 2
05-常见问题处理FAQ/02-服务出现端口冲突处理.md

@@ -1,10 +1,33 @@
-# 1. 现象
+# 1. 出错现象
+
+如下图红色字体中,有一条: No healthy hosts meet the resource constaints: [端口号:端口号/tcp  portReservation...,意思就是“主机中已经没有可用的 7650 端口了。”
 
 ![](images/_1531902991_7681.png)
 
-# 2. 处理方法
+# 2. 原因分析
+
+可能的原因有二个:
+  1. 这个服务器对外开启了端口,且启动的`容器数量,大于主机数`;即如果主机只有一台,启动了二个容器,端口都对外开放 7650,一定会报错。
+  2. 由于**Rancher BUG**,容器进入了`独立容器`中去了。由于容器不断的生成然后又删除,在数据库记录中已经删除,然而实际的容器并未删除成功,导致其成为了`孤儿容器`,但 孤儿容器 也同样占用了主机的端口。正常的容器是可以看到所属于的 **应用/服务** 的,一旦成为 `孤儿容器` 后,就不属于任何 **应用/服务** 了,会出现在 主机 菜单中的独立容器中。如下图
+
+![正常的容器详情](images/_1533017955_645.png)
+
+![孤儿容器详情](images/_1533018069_8795.png)
+
+# 3. 处理方法
+
+ 1. 打开 『基础架构』--> 『主机』,主机菜单拉到最下面,可以看到所有的独立容器。
+
+<div class="warn">
+<h2>警告!</h2>
+<p>独立容器中的容器`并非都是可删除的`,用户手工通过 Docker 命令或 docker-compose 启动的容器,也在独立容器中!</p>
+<p>删除虽然不会导致固化的数据丢失,但会导致服务中断,且需要重建服务才能恢复!</p>
+</div>
 
+  2.  从独立容器中,找出业务容器,删除,可以看到业务容器又会运行正常。
 
 ![](images/_1531903106_19261.png)
 
+![主机 --> 独立容器](images/_1533018203_19716.png)
 
+  3. 针对 Rancher BUG,已经有一些临时性的解决方法,比如定期清理独立容器。

BIN
05-常见问题处理FAQ/images/_1533017955_645.png


BIN
05-常见问题处理FAQ/images/_1533018069_8795.png


BIN
05-常见问题处理FAQ/images/_1533018203_19716.png