tensorflow:1.5.0-devel-gpu-py3容器apt update卡在0%如何解决
问题修复方案
核心原因
tensorflow/tensorflow:1.5.0-devel-gpu-py3 基于Ubuntu 16.04(Xenial)构建,该系统版本2021年已结束标准支持,官方源已从
archive.ubuntu.com迁移至old-releases.ubuntu.com,原有官方源地址已停止服务,导致apt更新卡住。
可用修复方案
- 方案1:直接在Dockerfile中提前替换为可用的旧版本源,修改后的Dockerfile如下:
FROM tensorflow/tensorflow:1.5.0-devel-gpu-py3 # 替换Ubuntu 16.04可用的旧源 RUN sed -i 's/archive.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list && \ sed -i 's/security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list && \ apt-get clean && \ apt-get update RUN mkdir -p /usr/src/app WORKDIR /usr/src/app
- 方案2:若临时在容器内测试,可先执行以下命令替换源后再更新:
sed -i 's/archive.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list sed -i 's/security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list apt-get update
- 方案3:如果替换源后仍有卡住问题,可在执行docker build或docker run命令时添加DNS参数规避解析问题:
# 构建时指定DNS sudo docker build --dns 8.8.8.8 --dns 114.114.114.114 -t tf150image . # 启动容器时指定DNS sudo docker run -dt --rm --gpus all --dns 8.8.8.8 --dns 114.114.114.114 -v "$(pwd)":/usr/src/app/ -p 8080:5000 --name tf150container tf150image
- 方案4:执行更新时添加超时参数避免长时间卡住:
apt-get -o Acquire::http::Timeout=10 -o Acquire::ftp::Timeout=10 update
内容的提问来源于stack exchange,提问作者Zekhire
相关产品推荐
相关产品推荐

