Sagemaker Notebook实例中docker-compose无法启动运行报错问题求助
问题根因
报错Timeout value connect was Timeout(connect=60, read=60, total=None), but it must be an int, float or None的核心原因是docker-py 5.0.0与urllib3 v2.x版本不兼容:urllib3 2.0及以上版本将超时参数封装为自定义Timeout对象,而你安装的docker-py 5.0.0版本未适配该结构,仍要求超时参数为基础数值类型。
解决步骤
- 第一步:激活docker-compose所在的conda环境
Sagemaker Notebook中docker-compose默认安装在JupyterSystemEnv环境,执行以下命令激活:conda activate JupyterSystemEnv - 第二步:降级urllib3到兼容版本
docker-py 5.0.0最高兼容urllib3 1.26.x版本,执行降级命令:pip install urllib3==1.26.18
如果提示权限不足,可在命令末尾添加--user参数安装到当前用户目录。 - 第三步:验证修复效果
执行docker-compose version检查是否可以正常输出版本信息,再运行docker-compose up验证业务功能是否正常。 - 备选方案:替换为docker-compose v2版本
如果降级urllib3会冲突其他环境依赖,可选择安装Go语言编译的docker-compose v2二进制版本,该版本不依赖Python运行环境,不存在依赖冲突问题,直接替换原有pip安装的docker-compose即可正常使用。
内容的提问来源于stack exchange,提问作者maslick
相关产品推荐
相关产品推荐

