首页 > 解决方案 > 套接字:协议不支持的地址族

问题描述

CentOS 7

Docker 版本20.10.6,构建 370c289

我尝试像这样运行图像:

docker run -d --name sonarqube -p 9000:9000 -v sonarqube-conf:/opt/sonarqube/conf -v sonarqube-data:/opt/sonarqube/data -v sonarqube-logs:/opt/sonarqube/logs -v sonarqube-extensions:/opt/sonarqube/extensions sonarqube

但得到错误:

docker: Error response from daemon: driver failed programming external connectivity on endpoint sonarqube (asfsfdsfdsfdsfdsfdsfds): Error starting userland proxy: listen tcp6 [::]:9000: socket: address family not supported by protocol.

标签: dockercentos7

解决方案


这篇文讨论了问题和解决方案:

出于某种原因,IPv6(提示是 tcp6)搞砸了。问题是我从一开始就在这台主机上禁用了 IPv6。主要是因为对路由和互联网可访问性的一些担忧(我家里有一个正式的 IPv6 子网)。

在您的情况下,这是适用于我的容器的解决方案,我遇到了同样的问题。将主机端口替换为主机 LAN IPv4 地址(我在以下代码段中使用 172.16.18.93)和端口:

docker run -d --name sonarqube -p 172.16.18.93:9000:9000 -v sonarqube-conf:/opt/sonarqube/conf -v sonarqube-data:/opt/sonarqube/data -v sonarqube-logs:/opt/sonarqube/logs -v sonarqube-extensions:/opt/sonarqube/extensions sonarqube

推荐阅读