docker学习常用操作系统
Alpine
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 packages
Debian/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 curl
CentOS/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)