在自家的開發環境中,一般都是直接yum安裝最新的docker來做鏡像和容器,沒有仔細深究,一直相安無事。但這幾天卻發現一個驚悚的現象,新申請的兩台虛機,一台安裝好后正常,另一台卻出現異常:
docker exec -it mongo bash rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused "process_linux.go:110: decoding init error from pipe caused \"read parent: connection reset by peer\""
這時就象征性的查了下“connection reset by peer”的相關問題但卻依然解決不了問題,直到看到了這個,才想起來有沒有可能是docker的一個bug,因此特意查了下兩個系統對應的docker版本,分別如下:
[root@devlop ~]# docker -v Docker version 1.13.1, build 8633870/1.13.1
[root@devlop ~]# docker -v
Docker version 1.13.1, build 07f3374/1.13.1
可用的是build 8633870,出現異常的是build 07f3374。
那么問題來了,同樣的安裝指令同樣的環境為什么會有2個不同的版本呢?查一下yum源:
yum list docker Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile 60 packages excluded due to repository priority protections Available Packages docker.x86_64 2:1.13.1-84.git07f3374.el7.centos @extras docker.x86_64 2:1.13.1-75.git8633870.el7.centos @extra
發現有2個版本,一個帶坑一個不帶坑。
無力吐槽,為了快速解決問題,直接卸載docker,裝上docker-ce了。
#查詢已安裝的docker包 yum list installed | grep docker #刪除已安裝的包 yum -y remove docker.x86_64 yum -y remove docker-client.x86_64 yum -y remove docker-common.x86_64 #刪除安裝目錄 rm -rf /var/lib/docker/ #安裝docker-ce yum install docker-ce