Docker 更换镜像内部的软件源为国内源(apt-get源)
- 1、查看镜像内部的软件源
- 2、查看系统版本
- 3、更换软件源
- 3.1 在镜像内部更换
- 3.2用Dockerfile构建时更换
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.listapt-get update
3.2用Dockerfile构建时更换
跟Dockerfile
文件同级目录下创建一个sources.list
文件,并粘贴清华源,
然后在Dockerfile
文件中这么写,用ADD命令,防止权限问题。
FROM python:3.6.7WORKDIR /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
,找到对应的版本