• 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<ssezhangpeng@gmail>
    
    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<ssezhangpeng@gmail>
    
    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

    所有博文均为原著,如若转载,请注明出处!
  • 相关阅读:
    [BZOJ4755][JSOI2016]扭动的回文串(manacher+Hash)
    十二省联考2019部分题解
    [BZOJ2959]长跑(LCT+并查集)
    [BZOJ4541][HNOI2016]矿区(平面图转对偶图)
    笛卡尔树
    [CF896C]Willem, Chtholly and Seniorious(珂朵莉树)
    [BZOJ4349]最小树形图
    [BZOJ1858][SCOI2010]序列操作(线段树)
    [PA2014]Parking
    [PA2014]Budowa
  • 原文地址:https://www.cnblogs.com/zpcoding/p/11553058.html
Copyright © 2020-2023  润新知