Docker 更换镜像内部的软件源为国内源(apt-get源)

1、查看镜像内部的软件源

root@b09e8f69dc59:/# cat /etc/apt/sources.list
deb http://deb.debian.org/debian stretch main
deb http://security.debian.org/debian-security stretch/updates main
deb http://deb.debian.org/debian stretch-updates main

很显然这里用的是Debian官方源,如果直接拉取镜像还好,一旦用Dockerfile执行apt-get update命令构建时就会很容易卡死,所以要换源。

2、查看系统版本

root@b09e8f69dc59:/# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

由Version可以看出是Debian的9(stretch)版本,打开清华大学镜像网站https://mirrors.tuna.tsinghua.edu.cn/help/debian/,找到对应版本的国内源,
在这里插入图片描述

3、更换软件源

3.1 在镜像内部更换

首先自己先创建一个sources.list文件,复制清华源到文件里,然后执行复制命令覆盖原来的文件

# 备份原来的文件
cp  /etc/apt/sources.list /etc/apt/sources.list.bak

# 更换覆盖原来的文件
mv /home/sources.list /etc/apt/sources.list

apt-get update

3.2用Dockerfile构建时更换

Dockerfile文件同级目录下创建一个sources.list文件,并粘贴清华源,
然后在Dockerfile文件中这么写,用ADD命令,防止权限问题。

FROM python:3.6.7

WORKDIR /home/code/
RUN cp /etc/apt/sources.list /etc/apt/sources.list.bak
COPY . .
ADD sources.list /etc/apt/ 
RUN apt-get update 

这样就能顺利构建了
如何清华源也失败了,可以试试阿里的镜像源https://developer.aliyun.com/mirror/debian?spm=a2c6h.13651102.0.0.3e221b11vzU4iS,找到对应的版本

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐