在学习 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 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 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

最新文章

  1. Mini projects #3 ---- Stopwatch: The Game
  2. __weak
  3. CSS样式“display:none”与“visibility:hidden”区别
  4. hdu 1176 免费馅饼(动态规划)
  5. Visible 绑定
  6. Oracle 的过程与函数
  7. 网上关于sort结构体排序都不完整,我来写一个完整版的 2014-08-09 16:50 60人阅读 评论(0) 收藏
  8. 【转】搭建Mac OS X下cocos2d-x的Android开发环境
  9. QVariant(相当于是Java里面的Object,起到一个数据类型“擦除”的作用,可以使用Q_DECLARE_METATYPE进行注册)
  10. sizeof用法
  11. 【企业库6】【日志应用程序块】实验2:创建和使用异步Trace Listener
  12. jq 动态添加.active 实现导航效果
  13. OsWatcher 使用详解
  14. 批处理命令调用WINRAR对文件进行压缩
  15. 使用命令行登陆数据库配置文件修改 解决ora12528
  16. [VTK]基于VTK的三维重建
  17. Python 学习目录
  18. Web Service(上)
  19. matplotlib使用总结
  20. Android 小例子服务端

热门文章

  1. 数据库建模工具pd的使用
  2. UVA - 12174 Shuffle (预处理+滑动窗口)
  3. 51nod 1437:迈克步 单调栈基础题
  4. 51nod 1276:岛屿的数量 很好玩的题目
  5. HTML的文档结构与语法(二)
  6. 在 Windows 系统上安装 Jekyll
  7. 093-PHP数组比较
  8. Golang go-gin 注册路由
  9. SPOJ RENT 01背包的活用+二分
  10. C#使窗体不显示在任务栏