如果要在docker中安装软件,除了直接找对应的软件镜像,一般我们会先安装Linux系统,然后再在里面安装各种需要的软件。

比如我想安装乌班图,直接下载官方的版本:

这个目前是Ubuntu20.04,只有72M,因为它只有操作系统的基本功能,大部分软件都没有。接下来我们对它进行调教。

更换apt源

这个新的系统启动后,连文本编辑器也没有。一般我们会安装vim,但是现在什么也安装不了:



现在就需要给它更换apt源并拉缓存。

打开https://mirrors.ustc.edu.cn/repogen/拉到最下面,修改版本为自己的



需要把里面的内容替换到/etc/apt下面的sources.list文件中。可以点后面的下载按钮下到外面,然后通过目录映射复制过去,也可以复制内容粘贴过去。这里采用直接复制的方法:先把原始文件备份,然后通过echo xxx >> file的命令写进去,echo接受的字符串用双引号包起来就可以换行

支持HTTPS

现在我们把源换成了国内的中科大,但是依然不能更新,会类似这样报错 Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. Could not handshake: Error in the certificate verification. [IP: 202.141.160.110 443]



可以看到里面说Try installing ca-certificates,但是并不能用,因为现在任何软件都安装不了:



就是因为https相关的原因,需要安装ca-certificaters。但是我根本不能apt update,咋能apt install呢?陷入死循环了耶,就像下载了一个winrar.rar一样无奈。

没关系,我们手动来安装。

https://packages.ubuntu.com/focal-updates/amd64/libssl1.1/download 下载了libssl(找到这个地址也不容易啊),然后执行 dpkg -i libssl1.1_1.1.1f-1ubuntu2.10_amd64.deb;

https://packages.ubuntu.com/focal-updates/amd64/openssl/download 下载 openssl,执行 dpkg -i openssl_1.1.1f-1ubuntu2.10_amd64.deb;

https://packages.ubuntu.com/focal-updates/all/ca-certificates/download 下载ca-certificaters,执行 dpkg -i ca-certificates_20210119_20.04.2_all.deb。

这里都是针对20.04版本(也就是url中的focal)的64位操作系统下载的,如果你不是,要相应变更。

这时候再执行apt update就可以了:

docker image

现在这个镜像就方便使用了,如果你不想自己走一遍,可以下载我的镜像,我刚打包上传了:



地址在https://hub.docker.com/repository/docker/davelet/ubuntu20.04/tags,可以拉取。

为dokcer中最简版ubuntu(70M)增加apt安装能力的更多相关文章

  1. python练习_购物车(简版)

    python练习_购物车(简版) 需求: 写一个python购物车可以输入用户初始化金额 可以打印商品,且用户输入编号,即可购买商品 购物时计算用户余额,是否可以购买物品 退出结算时打印购物小票 以下 ...

  2. SLAM+语音机器人DIY系列:(一)Linux基础——2.安装Linux发行版ubuntu系统

    摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...

  3. FFmpeg简易播放器的实现-最简版

    本文为作者原创:https://www.cnblogs.com/leisure_chn/p/10040202.html,转载请注明出处 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...

  4. Virtex6 PCIe 超简版基础概念学习(二)

    Virtex6 PCIe 超简版基础概念学习(二) 分类:FPGAPCIe (2081)  (0)  举报  收藏 文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 ise14.7 ...

  5. typescript 简版跳一跳

    typescript 简版跳一跳 学习typescript,第一步应该是学习官方文档,理解最基础的语法.第二步开始用typescript实现一些js+css 或者canvas类型的游行.现在开始我们用 ...

  6. ROS Learning-022 learning_tf-06(编程) 现在与过去中穿梭 (Python版) --- waitForTransformFull() 函数

    ROS Indigo learning_tf-06 现在与过去中穿梭 (Python版) - waitForTransformFull() 函数 我使用的虚拟机软件:VMware Workstatio ...

  7. 【Spring源码解析】—— 简单工厂模式的BeanFactory的超简版实现

    一.什么是简单工厂模式 设计模式的核心是“分工”,通过分工将对象与职责划分的更细化,进而提升系统设计的可扩展性,使其更容易维护. 开闭原则:对扩展开放,对修改关闭:要增加一个新的处理逻辑,可以开一个新 ...

  8. SpringBoot2+Netty打造通俗简版RPC通信框架(升级版)

    背景         上篇文章我简单的介绍了自己打造的通俗简版RPC通信框架,这篇是对简版的增强~         如果大家对此项目还感兴趣的话,可到码云上瞄瞄:Netty-RPC         上 ...

  9. SpringBoot2+Netty打造通俗简版RPC通信框架

    2019-07-19:完成基本RPC通信! 2019-07-22:优化此框架,实现单一长连接! 2019-07-24:继续优化此框架:1.增加服务提供注解(带版本号),然后利用Spring框架的在启动 ...

随机推荐

  1. IDEA 配置背景颜色(豆沙绿)

    1. 定义方案名字(my color) Ctrl + Shift + a --> Color Scheme // 快捷定位配置 // 路径:File --> Settings --> ...

  2. FESTUNG — 3. 采用 HDG 方法求解对流问题

    FESTUNG - 3. 采用 HDG 方法求解对流问题[1] 1. 控制方程 线性对流问题控制方程为 \[\begin{array}{ll} \partial_t c + \nabla \cdot ...

  3. Mysql 预处理 PREPARE以及预处理的好处

    Mysql 预处理 PREPARE以及预处理的好处 Mysql手册 预处理记载: 预制语句的SQL语法在以下情况下使用:   · 在编代码前,您想要测试预制语句在您的应用程序中运行得如何.或者也许一个 ...

  4. Docker初试

    1. docker是啥? 自行Google或百度去... https://yeasy.gitbooks.io/docker_practice/introduction/what.html 重要概念: ...

  5. vim——批量缩进

    批量缩进 第一种 按esc,退出编辑模式,到命令模式,并在英语输入法下输入":" 将所要批量缩进的行号写上,按照格式:"行号1,行号2>"输入命令,如要将 ...

  6. word2010在左侧显示目录结构

  7. 技术管理进阶——Leader的模型、手段及思维

    这里可以添加关注交流一下嘛-- 本文更多的是个人认知,有不足请批评. ​Case 在之前一次年底考评的时候,有一位leader将一个案例同时用到了自己和下属身上,老板发出了责问: 这个项目到底你是负责 ...

  8. 日常Java 2021/11/3

    java网络编程 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来.java.net包中J2SE的APl包含有类和接口,它们提供低层次的通信细节.你可以直接使用这些类和接口, ...

  9. API接口设计之token、timestamp、sign 具体架构与实现(APP/小程序,传输安全)

    Java生鲜电商平台-API接口设计之token.timestamp.sign 具体设计与实现 说明:在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(防窃 ...

  10. JavaIO——File类

    1.File文件类 File类(描述具体文件或文件夹的类):是唯一一个与文件本身操作有关的程序类,可完成文件的创建.删除.取得文件信息等操作.但不能对文件的内容进行修改. (1)File类的基本使用 ...