文章目录- alpine 简介
- 基本操作
- 更新最新镜像源列表:apk update
- 搜索软件包:apk search
- 安装软件包:apk add
- 列出已安装的软件包:apk info
- 升级软件版本:apk upgrade
- 基础alpine镜像
- 更新最新镜像源列表:apk update
- 搜索软件包:apk search
- 安装软件包:apk add
- 列出已安装的软件包:apk info
- 升级软件版本:apk upgrade
alpine 简介
Alpine 操作系统是一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐。在保持瘦身的同时,Alpine 还提供了自己的包管理工具 apk,可以通过 https://pkgs.alpinelinux.org/packages 网站上查询包信息,也可以直接通过 apk 命令直接查询和安装各种软件。
目前 Docker 官方已开始推荐使用 Alpine 替代之前的 Ubuntu 做为基础镜像环境。这样会带来多个好处。包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等。
- 小巧:基于Musl libc和busybox,和busybox一样小巧,最小的Docker镜像只有5MB;
- 安全:面向安全的轻量发行版;
- 简单:提供APK包管理工具,软件的搜索、安装、删除、升级都非常方便。
- 适合容器使用:由于小巧、功能完备,非常适合作为容器的基础镜像。
基本操作
Alpine使用apk进行包管理,下面介绍一些常用的包管理命令:
更新最新镜像源列表:apk update
代码语言:javascript复制apk update
搜索软件包:apk search
代码语言:javascript复制apk search # 查找所以可用软件包
apk search -v # 查找所以可用软件包及其描述内容
apk search -v 'acf*' # 通过软件包名称查找软件包
apk search -v -d 'docker' # 通过描述文件查找特定的软件包
安装软件包:apk add
代码语言:javascript复制apk add openssh # 安装一个软件
apk add openssh openntp vim # 安装多个软件
apk add --no-cache mysql-client # 不使用本地镜像源缓存,相当于先执行update,再执行add
列出已安装的软件包:apk info
代码语言:javascript复制apk info # 列出所有已安装的软件包
apk info -a zlib # 显示完整的软件包信息
apk info --who-owns /sbin/lbu # 显示指定文件属于的包
升级软件版本:apk upgrade
代码语言:javascript复制apk upgrade # 升级所有软件
apk upgrade openssh # 升级指定软件
apk upgrade openssh openntp vim # 升级多个软件
apk add --upgrade busybox # 指定升级部分软件包
2.6. 删除软件包:apk del
apk del openssh # 删除一个软件
差不多也就这些,其他的用 Ubuntu 的时候都不见得要用,要用的时候再查。
基础alpine镜像
代码语言:javascript复制FROM alpine:3.9.2
# 更新最新镜像源列表
RUN apk update
# 设置Docker 时间为上海时区
RUN apk add -U tzdata
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/shanghai" >> /etc/timezone
# 依次安装命令:curl、scp、telnet
RUN apk -U add curl
RUN apk -U add openssh-client
RUN apk -U add busybox-extras
# 这里添加top命令是为了方便本地测试,防止启动该基本镜像容器后自动运行停止
ENTRYPOINT ["top"]