最近在打包Docker是因为需要使用到net-tools包,在Docker中加入了run方法但是提示Unable to locate package
RUN apt-get install net-tools -y
这个错误一般是因为软件源未更新造成的,于是采用命令:apt-get update 来更新软件源,结果报出好多404错误,好多资源找不到。通过百度查询后发现大部分解决方案是将/ect/apt/sources.list中的源切换到网易或者阿里源上
/**阿里源*/
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse" >/etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse" >>/etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse" >>/etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse" >>/etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse" >>/etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse" >>/etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse" >>/etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse" >>/etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse" >>/etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse" >>/etc/apt/sources.list && \
cat /etc/apt/sources.list
/**网易源*/
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \
echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list && \
echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list && \
echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list && \
echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
通过切换源发现并没有解决问题,进入相对应的路径下发现确实没有该目录,最后发现实际上是Wheezy 和 Jessie从镜像网络中移除了https://lists.debian.org/debian-devel-announce/2019/03/msg00006.html
于是试验了下网上提供的方法 通过删除行来解决 "deb http://deb.debian.org/debian jessie-updates main
从/etc/apt/sources.list"于是添加了一下几行代码
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
然后重新打包发发现可以成功将镜像打包了