dockerfile---apt-get install vim 时 Unable to locate package vim

  在学习 dockerfile 的时候,发现编写的 Dockerfile 中的 apt-get install 命令无法找到要安装的包,所以记录一下这次发生的错误。

环境:宿主机:windows 10 上安装 VMware 虚拟化软件

     VMware workstation 15 pro

客户机:Ubuntu 18.04 STL

     Dockerfile 内容:

FROM ubuntu:18.04  # 从 dockerhub 直接拉下来的官方镜像
MAINTAINER zhangpeng<[email protected]>

ENV MYPATH /usr/local
WORKDIR $MYPATH

RUN apt-get -y install vim
RUN apt-get -y install net-tools

EXPOSE 80

CMD echo $MYPATH
CMD echo "success---------------ok"
CMD /bin/bash

Dockerfile

出错情景:

出错原因:

  在 Ubuntu 中,刚下载下来的 ubuntu 是没有任何包索引的,所以由于该镜像中的仓库没有添加任何包索引,导致找不到要安装的包,在正常情况下,刚安装完成 Ubuntu 后,都需要执行一下:apt-get update 命令来更新一下包索引,而其它系统则不需要,比如 centos 好像就不需要,会事先自动给你添加包索引。

解决办法:

  在 Dockerfile 中添加更新包索引的命令,重新构建镜像即可。

更新后的 Dockerfile 文件:

FROM ubuntu:18.04
MAINTAINER zhangpeng<[email protected]>

ENV MYPATH /usr/local
WORKDIR $MYPATH

RUN apt-get update
RUN apt-get -y install vim
RUN apt-get -y install net-tools

EXPOSE 80

CMD echo $MYPATH
CMD echo "success---------------ok"
CMD /bin/bash

Dockerfile

注:如果出现下述的情况:

出错情景:

出错原因:

  这种错误是因为无法解决 ‘archive.ubuntu.com’ 网址,及无法解析上述网址,所以我们可以想到是 DNS 的问题,如果你的宿主机的网络设置是自己手工配置的,可能你的 DNS 服务器被手工设置为了:8.8.8.8 和 8.8.4.4 ,如下图所示。但是在某些情况下,比如某些学校、企业内部封锁了当前网络对 8.8.8.8 DNS 服务器的访问,这时,我们就不能正确解析上述出现错误的网址了。

注:下图为 window 下的 ipv4 的属性配置,如果你的宿主机是 Linux 系列,则可自行搜索找到自己的 DNS 配置

解决方法:

  我们可以设置成别的可以访问的 DNS 服务器地址,比如百度的 DNS 服务器(180.76.76.76);或者设置成上图中的自动获取 DNS 服务器地址即可。所以如果出现了下述情况,我们可以在自己的宿主机上 ping 8.8.8.8 ,看是否能访问该 DNS服务器。

注:公共的 DNS 服务器地址列表可通过附录链接进行查看

附录链接:

https://dns.supfree.net/

https://blog.csdn.net/lennSUIkA/article/details/80157427

原文地址:https://www.cnblogs.com/zpcoding/p/11553058.html

时间: 2024-10-10 08:25:06

dockerfile---apt-get install vim 时 Unable to locate package vim的相关文章

ubuntu-14.10-server-amd64 apt源 E: Unable to locate package问题解决

在虚拟机安装好Ubuntu后,用apt-get install ***命令安装软件时遇到E: Unable to locate package *** 的错误 执行 apt-get update 之后还是不能解决这个问题,原因是apt的源已经过期,无法访问,要配置新的源 可用的源列表:wiki.ubuntu.org.cn/%E6%BA%90%E5%88%97%E8%A1%A8 我选择阿里云上的源   进入apt目录  编辑sources.list 文件 把之前的源地址注释掉,添加新的源地址. 修

【转】ubuntu 11.04使用apt-get安装软件时一直提示E:unable to locate package

问题: VMware虚拟机安装了ubuntu 11.04,在使用apt-get安装软件时一直提示E:Unable to locate package. 百度了原因,说是要更新源,使用命令:sudo apt-get update更新了,但更新之后问题还是存在: 解决方案: 主要还是源的问题,目前网上找的很多源都是很久以前的了,很多的可能都不能用了: 然后自己重新下载了一个ubuntu 14.04版本的源替换原来的sources.list文件,然后运行sudo apt-get update更新后就可

Ubuntu : 解决更新时出现 Unable to locate package update

当用apt-get更新软件包时常出现错误提示Unable to locate package update, 尤其是在ubuntu server上,解决方法是: 先更新apt-get #sudo apt-get update 执行完后,问题就解决了. 继续更新: #sudo apt-get upgrade

Ubuntu11.10 E: Unable to locate package ubuntu-restricted-extras

最近在ubuntu11.10下安装支持多媒体播放的插件时遇到一些问题,在此小记一下. 首先是ubuntu11.10的安装,基本上是一键安装,在此不细说. 1.此版本和以前使用的ubuntu版本风格不太一致,为此在使用时一度不太习惯. 1)软件源服务器的选择 在左侧列表中有一个System  Settings,点击进入有3大选项,选择System里面的Software Sources,出现一个对话框,第一项为Ubuntu Software,此项里有一个DownLoad From选择中国服务器mir

Ubuntu的Unable to locate package无法更新源问题解决方案

https://blog.csdn.net/long19910605/article/details/47017889/ 问题: 更新源时提示不能联网(does the network require authentication?),但是明明可以ping通外网啊,原来是不能访问这个默认源,所以更换一下源 [email protected]:~$ sudo apt-get update Get:1 http://ppa.launchpad.net/nginx/stable/ubuntu xeni

linux -- Ubuntu报错“unable to locate package...”

有时候在Ubuntu命令行中执行安装某个文件的时候,如:sudo apt-get install xinit ,报 “unable to locate package...” 错误,解决办法如下 1. 首先查看是不是有别的进程在装软件,比如新立得. 如果有的话就关掉.没有的往下看 在终端输入sudo rm /var/lib/apt/lists/lock 强制把/var/lib/apt/lists/lock删掉. 2. 原因可能是换了源,但却在本机上没有更新,所以找不到这个包. 这时候就要使用 s

Unable to locate package python-pip

原文:https://blog.csdn.net/yyinhai/article/details/53056973 Ubuntu下执行apt install python-pip得到如下错误提示: Reading package lists- Done Building dependency tree Reading state information- Done E: Unable to locate package python-pip 解决方法如下:(注意,需要切换到root账户,可以使用

Unable to locate package net-tools 处理方法

@ubuntu:~$ sudo apt install net-toolsReading package lists... DoneBuilding dependency tree Reading state information... DoneE: Unable to locate package net-tools 处理方法: sudo apt-get update 原文地址:https://www.cnblogs.com/ybluo/p/10989436.html

错误:E:Unable to locate package ...

安装NFS软件包: sudo apt-get install nfs-common 安装tftp软件: sudo apt-get install tftpd-hpa tftp-hpa 均出现此错误:E:Unable to locate package nfs-common/tftp-hpa 网上的解决办法是,运行:sudo apt-get update 即可. 提到 软件源 这一概念,还需要加深了解.