在容器中使用dockerfile安装vim、telnet、nettools等软件构建镜像出现的问题

由于有需要在容器中使用vim,telnet等软件,所以我们需要在容器内安装,因为网络等其他原因,我选择在Dockerfile里进行安装

正常安装:在/etc/apt/sources.list内配置正确的镜像源即可

RUN echo 'deb http://mirrors.aliyun.com/Debian/ xenial main restricted universe multiverse 

           deb http://mirrors.aliyun.com/Debian/ xenial-security main restricted universe multiverse 

           deb http://mirrors.aliyun.com/Debian/ xenial-updates main restricted universe multiverse 

           deb http://mirrors.aliyun.com/Debian/ xenial-proposed main restricted universe multiverse 

           deb http://mirrors.aliyun.com/Debian/ xenial-backports main restricted universe multiverse 

           deb-src http://mirrors.aliyun.com/Debian/ xenial main restricted universe multiverse 

           deb-src http://mirrors.aliyun.com/Debian/ xenial-security main restricted universe multiverse 

           deb-src http://mirrors.aliyun.com/Debian/ xenial-updates main restricted universe multiverse 

           deb-src http://mirrors.aliyun.com/Debian/ xenial-proposed main restricted universe multiverse 

           deb-src http://mirrors.aliyun.com/Debian/ xenial-backports main restricted universe multiverse 
'
              > /etc/apt/sources.list
RUN ["apt-get", "update"]
RUN ["apt-get","install","vim","-y"]

但是我这里会出现问题

Err http://deb.debian.org jessie-backports/main amd64 Packages
  404  Not Found
Err http://mirrors.163.com jessie-proposed-updates/main Sources
  404  Not Found [IP: 1.193.221.38 80]
Err http://mirrors.163.com jessie-proposed-updates/non-free Sources
  404  Not Found [IP: 1.193.221.38 80]
Err http://mirrors.163.com jessie-proposed-updates/contrib Sources
  404  Not Found [IP: 1.193.221.38 80]
Err http://mirrors.163.com jessie-proposed-updates/main amd64 Packages
  404  Not Found [IP: 1.193.221.38 80]
Err http://mirrors.163.com jessie-proposed-updates/non-free amd64 Packages
  404  Not Found [IP: 1.193.221.38 80]
Err http://mirrors.163.com jessie-proposed-updates/contrib amd64 Packages
  404  Not Found [IP: 1.193.221.38 80]
Fetched 18.7 MB in 24s (777 kB/s)
W: Failed to fetch http://mirrors.163.com/debian/dists/jessie-proposed-updates/main/source/Sources  404  Not Found [IP: 1.193.221.38 80]

W: Failed to fetch http://mirrors.163.com/debian/dists/jessie-proposed-updates/non-free/source/Sources  404  Not Found [IP: 1.193.221.38 80]

W: Failed to fetch http://mirrors.163.com/debian/dists/jessie-proposed-updates/contrib/source/Sources  404  Not Found [IP: 1.193.221.38 80]

W: Failed to fetch http://mirrors.163.com/debian/dists/jessie-proposed-updates/main/binary-amd64/Packages  404  Not Found [IP: 1.193.221.38 80]

W: Failed to fetch http://mirrors.163.com/debian/dists/jessie-proposed-updates/non-free/binary-amd64/Packages  404  Not Found [IP: 1.193.221.38 80]

W: Failed to fetch http://mirrors.163.com/debian/dists/jessie-proposed-updates/contrib/binary-amd64/Packages  404  Not Found [IP: 1.193.221.38 80]

W: Failed to fetch http://deb.debian.org/debian/dists/jessie-backports/main/binary-amd64/Packages  404  Not Found

E: Some index files failed to download. They have been ignored, or old ones used instead.
The command 'apt-get update' returned a non-zero code: 100

本以为是源的问题,结果换了一堆源没有任何用,废了半天时间,头疼

后来找到一种解决办法,还是在Dockerfile内增加

RUN echo "deb [check-valid-until=no] http://cdn-fastly.deb.debian.org/debian jessie main" > /etc/apt/sources.list.d/jessie.list
RUN echo "deb [check-valid-until=no] http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
RUN sed -i '/deb http://deb.debian.org/debian jessie-updates main/d' /etc/apt/sources.list
RUN apt-get -o Acquire::Check-Valid-Until=false update
RUN apt-get install -y vim
RUN apt-get install -y telnet
RUN apt-get install -y net-tools

我们来试一下

没问题咯

原文地址:https://www.cnblogs.com/shook/p/15268622.html