Alpine操作系统是一个面向安全的轻型Linux发行版,它采用musl libc和BusyBox来减小系统体积和资源消耗,比BusyBox功能更完善.此外Alpine还提供了包管理工具apk查询和安装软件包.
Alpine Docker镜像仅5MB左右大小,是Docker官方推荐的默认基础环境镜像.使用alpine作为基础镜像的镜像名会在后面加上-alpine,例如python:3.5-alpine.
可以在Docker Hub上搜索下载:
[young1.ml ~]# docker search --filter=is-official=true alpine NAME DESCRIPTION STARS OFFICIAL AUTOMATED alpine A minimal Docker image based on Alpine Linux… 8012 [OK] [young1.ml ~]# docker pull alpine [young1.ml ~]# docker images alpine REPOSITORY TAG IMAGE ID CREATED SIZE alpine latest 14119a10abf4 8 weeks ago 5.6MB
运行时可以将需要在alpine中运行的命令写在docker run最后:
[young1.ml ~]# docker run alpine echo '555' 555
在alpine容器中安装软件使用apk add命令,软件包名可以到https://pkgs.alpinelinux.org/packages搜索:
~ # apk add vim (1/5) Installing xxd (8.2.3437-r0) (2/5) Installing lua5.3-libs (5.3.6-r0) (3/5) Installing ncurses-terminfo-base (6.2_p20210612-r0) (4/5) Installing ncurses-libs (6.2_p20210612-r0) (5/5) Installing vim (8.2.3437-r0) Executing busybox-1.33.1-r3.trigger OK: 25 MiB in 19 packagesDebian/Ubuntu
Debian和Ubuntu都是Debian系的服务器操作系统.
可以在Docker Hub上搜索下载:
[young1.ml ~]# docker search --filter=is-official=true debian NAME DESCRIPTION STARS OFFICIAL AUTOMATED ubuntu Ubuntu is a Debian-based Linux operating sys… 12999 [OK] debian Debian is a Linux distribution that's compos… 4039 [OK] [young1.ml ~]# docker pull debian [young1.ml ~]# docker pull ubuntu
使用docker run命令直接运行镜像:
[young1.ml ~]# docker run --rm -it debian root@67c7d35efc34:/# echo $SHELL /bin/bash root@67c7d35efc34:/# cat /etc/issue Debian GNU/Linux 11 n l
如果考虑用ubuntu作为基础镜像,通常用apt-get来更新安装软件:
[young1.ml ~]# docker run --rm -it ubuntu root@a5c5f0b0a7d5:/# cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS" root@a5c5f0b0a7d5:/# apt-get update Fetched 19.5 MB in 5s (3616 kB/s) Reading package lists... Done root@a5c5f0b0a7d5:/# apt-get install -y curlCentOS/Fedora
CentOS和Fedora都是基于Redhat的Linux发行版:
[young1.ml ~]# docker search --filter=is-official=true centos NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 6810 [OK] [young1.ml ~]# docker pull centos
CentOS最新版为8.4版本,一般使用的是CentOS:7版本.
[young1.ml ~]# docker run -it --rm centos [root@be4eb8a8025a /]# cat /etc/centos-release CentOS Linux release 8.4.2105 [young1.ml ~]# docker run -it --rm centos:7 [root@e6de73058535 /]# cat /etc/centos-release CentOS Linux release 7.9.2009 (Core)



