1、BusyBox

BusyBox是一个集成了一百多个最常用Linux命令(如cat、echo、grep、mount、telnet等)的精简工具箱,磁盘大小在1~5MB,被誉为“Linux系统的瑞士军刀”​。

1.1、使用官方镜像

可以直接使用PusyBox的官方镜像启动容器,并运行busybox命令查看系统支持的命令:

docker run -it --rm busybox sh 

/# busybox --list
[
[[
acpid
add-shell
addgroup
adduser
adjtimex
...

可以使用docker images命令看到BusyBox镜像只有4.86MB大小,同时提供了基础的Linux指令集:
在这里插入图片描述

1.2、相关资源

  • BusyBox官网:https://busybox.net/。
    在这里插入图片描述
  • BusyBox官方镜像:https://hub.docker.com/_/busybox/。

2、Alpine

作为一款轻量级的Linux发行版,Alpine操作系统专注于安全性、性能和资源效率。基于Musl libc和BusyBox构建的Alpine致力于缩减系统体积和降低运行时资源消耗。相较于BusyBox,Alpine功能更齐全,提供了包管理工具apk,以便用户轻松查询和安装软件包。Alpine Docker镜像继承了Alpine Linux发行版的诸多优势,其体积远小于其他镜像,仅约5MB(相较之下,Ubuntu系列镜像的大小接近200MB)​。

目前,Docker官方推荐将Alpine作为默认基础镜像环境,这将带来诸多好处,如加快镜像下载速度、提高镜像安全性、便捷地在主机之间切换以及减少磁盘空间占用等。

如下所示是官方镜像的大小比较,可以看到Alpine镜像在空间占用方面的显著优势:
在这里插入图片描述

2.1、使用官方镜像

由于镜像很小,下载时间几乎可以忽略,因此读者可以直接使用docker [container] run指令直接运行一个Alpine容器,并指定运行的指令,例如:

docker run alpine echo 'hello world from Apline!'

在本地没有提前拉取镜像的情况下,直接执行echo命令仅需要3s左右:
在这里插入图片描述

此轻量级镜像不仅使用起来更便捷,网络带宽压力也会相应减少。读者可以将Aplpine Linux作为基础镜像,以下Dockerfile将生成大约36MB大小的镜像:
在这里插入图片描述
而对于同样的需求,使用Ubuntu作为基础镜像,则需要生成大约145MB大小的镜像:
在这里插入图片描述

2.2、迁移至Alpine基础镜像

目前,大部分Docker官方镜像都已经支持Alpine作为基础镜像,可以很容易地进行迁移。例如:ubuntu/debian→alpine、python:3.7→python:3.7-alpine、ruby:2.6→ruby:2.6-alpine。

另外,如果使用Alpine镜像,安装软件包时可以使用apk工具,例如:
在这里插入图片描述
Alpine中软件安装包的名字可能会与其他发行版有所不同,读者可以在https://pkgs.alpinelinux.org/packages网站搜索并确定安装包名称。如果需要的安装包不在主索引内,而在测试或社区索引中,则需要更新仓库列表,如下所示:
在这里插入图片描述

2.3、相关资源

  • Apline官网:http://alpinelinux.org/。
    在这里插入图片描述

  • Apline官方仓库:https://github.com/alpinelinux。

  • Apline官方镜像:https://hub.docker.com/_/alpine/。

3、Ubuntu

Ubuntu是一款基于Debian架构的Linux操作系统,应用领域广泛,覆盖从桌面到云计算等场景。作为最受欢迎的操作系统之一,Ubuntu很好地支持容器技术,包括Docker、Kubernetes等容器软件。Ubuntu的名字源于非洲南部的祖鲁语或豪萨语中的ubuntu一词,寓意着“人性”和“我的存在源于大家的存在”​,这体现了非洲传统文化中的“仁爱”价值观。

3.1、使用官方镜像

可以直接使用Docker Hub上的Ubuntu镜像快速启动容器:

docker run -it --rm ubuntu bash

镜像包括了Ubuntu的最小安装,读者可以根据需要使用apt-get命令安装更多软件,例如在容器中安装vim软件:

root@xx:/# apt-get update; apt-get install -y vim

可以通过Docker Hub查看镜像中的文件及包信息,无须下载后再解析查看。例如,打开ubuntu:23.04的镜像页面,单击Layers,可见官方镜像的分层信息,如图所示。
在这里插入图片描述
单击右侧的Packages(括号内为软件包个数)​,即可查看或搜索镜像内的软件包,如图所示。
在这里插入图片描述

3.2、相关资源

  • Ubuntu官网:https://ubuntu.com。
    在这里插入图片描述
  • Ubuntu官方镜像:https://hub.docker.com/_/ubuntu/。
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐