无法通过Docker Compose启动Superset,请求技术排查方案
Docker连接拒绝问题的解决建议
问题详情
刚完成Docker Desktop全新安装,拉取Superset源码后进入目录执行命令:
docker-compose -f docker-compose-non-dev.yml pull
出现连接拒绝错误,使用sudo执行结果相同,错误日志如下:
tim@tim-home:~/repos/superset$ docker-compose -f docker-compose-non-dev.yml pull Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 699, in urlopen httplib_response = self._make_request( File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 394, in _make_request conn.request(method, url, **httplib_request_kw) File "/usr/lib/python3.10/http/client.py", line 1282, in request self._send_request(method, url, body, headers, encode_chunked) File "/usr/lib/python3.10/http/client.py", line 1328, in _send_request self.endheaders(body, encode_chunked=encode_chunked) File "/usr/lib/python3.10/http/client.py", line 1277, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) File "/usr/lib/python3.10/http/client.py", line 1037, in _send_output self.send(msg) File "/usr/lib/python3.10/http/client.py", line 975, in send self.connect() File "/usr/lib/python3/dist-packages/docker/transport/unixconn.py", line 30, in connect sock.connect(self.unix_socket) ConnectionRefusedError: [Errno 111] Connection refused
排查与解决步骤
确认Docker服务状态
执行命令检查Docker后台服务是否运行:systemctl status docker如果显示未激活,启动服务:
sudo systemctl start docker想要开机自动启动,可执行:
sudo systemctl enable docker将当前用户加入docker用户组
避免每次执行Docker命令都用sudo,同时解决权限导致的连接问题:sudo usermod -aG docker $USER执行后注销当前用户并重新登录,或者直接重启系统生效。
测试Docker基础连接
先执行基础测试命令验证Docker本身是否能正常工作:docker run hello-world如果这个命令也报错,说明问题出在Docker本身,而非Superset配置。
检查Docker Desktop运行状态
如果你用的是Linux版Docker Desktop,确保桌面应用已经打开,并且在设置中开启了“登录时启动Docker Desktop”选项,部分情况下后台服务需要通过桌面端触发启动。更换Docker Compose命令格式
部分系统自带的docker-compose(带横杠)版本存在兼容问题,试试使用Docker内置的Compose命令(不带横杠):docker compose -f docker-compose-non-dev.yml pull
内容的提问来源于stack exchange,提问作者Tim Pigden
相关产品推荐
相关产品推荐

