一、问题描述
docker安装容器的时候,报错Error response from daemon: dial unix /run/containerd/s/28086232b7ff6574d60911694c88bac5557ce09ff7f867821e136716cbc1a9e6: connect: connection refused: unknown.
我们在升级Metersphere的时候,发现在images都已下载正常,但是启动容器的时候报错。
; 二、问题排查
1、走过的弯路
怀疑是docker环境配置的问题,因为我不久修改过/etc/docker/daemon.json。
但是回过头来想,不对啊,Image镜像都下载成功了呀。。
[root@k8snode1 ~]
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.cn-qingdao.aliyuncs.com/metersphere/workstation v2.10.2-lts 33768a020031 6 days ago 576MB
registry.cn-qingdao.aliyuncs.com/metersphere/test-track v2.10.2-lts 230aa5d1e4f9 6 days ago 615MB
registry.cn-qingdao.aliyuncs.com/metersphere/system-setting v2.10.2-lts 68bd068c4400 6 days ago 580MB
registry.cn-qingdao.aliyuncs.com/metersphere/report-stat v2.10.2-lts 6c9af1431eff 6 days ago 578MB
registry.cn-qingdao.aliyuncs.com/metersphere/project-management v2.10.2-lts db5cd5dab9ad 6 days ago 617MB
registry.cn-qingdao.aliyuncs.com/metersphere/performance-test v2.10.2-lts 1bed1e5054fa 6 days ago 581MB
registry.cn-qingdao.aliyuncs.com/metersphere/api-test v2.10.2-lts 393a521be529 6 days ago 652MB
registry.cn-qingdao.aliyuncs.com/metersphere/gateway v2.10.2-lts c01e39dc6679 6 days ago 381MB
registry.cn-qingdao.aliyuncs.com/metersphere/ui-test v2.10.2-lts ee06c689c0fe 6 days ago 681MB
registry.cn-qingdao.aliyuncs.com/metersphere/node-controller v2.10.2-lts 6016d6ddad97 6 days ago 574MB
registry.cn-qingdao.aliyuncs.com/metersphere/eureka v2.10.2-lts 2f151ac0f719 6 days ago 313MB
registry.cn-qingdao.aliyuncs.com/metersphere/data-streaming v2.10.2-lts c580c457b8cf 6 days ago 357MB
registry.cn-qingdao.aliyuncs.com/metersphere/jmeter-master 5.5-ms5-jdk17 0cdbec9c44f8 6 weeks ago 650MB
registry.cn-qingdao.aliyuncs.com/metersphere/mysql 8.0.33 8189e588b0e8 2 months ago 564MB
registry.cn-qingdao.aliyuncs.com/metersphere/minio RELEASE.2023-04-13T03-08-07Z 8efbd3d7f65f 2 months ago 256MB
registry.cn-qingdao.aliyuncs.com/metersphere/node-chromium 4.8.3 4317e2094cdd 2 months ago 1.62GB
registry.cn-qingdao.aliyuncs.com/metersphere/node-firefox 4.8.3 f2120b028da1 2 months ago 1.4GB
registry.cn-qingdao.aliyuncs.com/metersphere/selenium-hub 4.8.3 751b89b7b366 2 months ago 430MB
registry.cn-qingdao.aliyuncs.com/metersphere/kafka 3.4.0 d7b26d3aabcf 4 months ago 551MB
registry.cn-qingdao.aliyuncs.com/metersphere/prometheus v2.42.0 8cfcb66f4364 4 months ago 232MB
registry.cn-qingdao.aliyuncs.com/metersphere/node-exporter v1.5.0 0da6a335fe13 7 months ago 22.5MB
registry.cn-qingdao.aliyuncs.com/metersphere/redis 6.2.6 f1b6973564e9 17 months ago 113MB
portainer/portainer latest 580c0e4e98b0 2 years ago 79.1MB
我仅仅使用docker pull portainer/portainer 也是能够下载的,证明非docker配置的问题。
另外我也对docker进行了重启。
systemctl daemon-reload && systemctl restart docker
- docker ps
没有一个运行中的容器。。。
2、安装portainer还是报错
Error response from daemon: dial unix /run/containerd/s/28086232b7ff6574d60911694c88bac5557ce09ff7f867821e136716cbc1a9e6: connect: connection refused: unknown.
3、寻求chatgpt的帮助
上面都是docker问题排查的常规手段,比较盲目。
其实,这里它是直指网络问题,非下载镜像的外网网络问题。
该错误通常表示Docker无法与Containerd通信。Containerd是Docker的底层容器运行时。
所以,应该是容器运行时故障:Containerd可能遇到了问题导致无法连接。你可以尝试重启Containerd服务,命令如下:
systemctl restart containerd
4、补充说明
如果以上方法都没有解决问题,可能存在其他底层问题或配置冲突。你可以查看Docker和Containerd的日志文件,以获取更多详细的错误信息。通常情况下,这些日志文件位于/var/log目录下的docker和containerd子目录中。
5、再次安装portainer成功(先删除容器名prtainer)
[root@k8snode1 log]
docker: Error response from daemon: Conflict. The container name "/prtainer" is already in use by container "4cc6b4d7a9b1233ce4c1c9c0a1937a1828ede97b0744806e3bd839df49afc62b". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
[root@k8snode1 log]
4cc6b4d7a9b1
[root@k8snode1 log]
02042d719165cf4f59a465cbe2d6e2045c22af0408879f2b54a2dd0419fc7dd4
[root@k8snode1 log]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
02042d719165 portainer/portainer "/portainer" 5 seconds ago Up 5 seconds 0.0.0.0:9900->9000/tcp, :::9900->9000/tcp prtainer
三、总结
现在有chatgpt,之前我们遇到问题都是google/baidu,从上面的这个例子,也可以一定程度地看出孰优孰劣。
经过重启containerd,解决了docker网络通讯问题。容器也都启动成功!!!