浅尝`Alpine Docker`

Alpine Linux 是一个面向安全、非常轻量级Linux发行版(整个操作系统镜像一共120M+)。它基于musl libcbusybox减小了系统的体积和运行时资源消耗。由于其安全、轻量且功能又相对完善,因此深受开源社区的喜爱。

Alpine Docker 镜像继承了 Alpine Linux的这些优势,相比其它 Docker 基础镜像(如 CentOSFedoraUbuntuDebian),它仅仅只有 5M。因此使用Alpine做出来的容器镜像有以下优点:

  • 镜像体积更小-下载速度快、易传播
  • 镜像安全性更高-Alpine只继承了Linux的必要内核信息
  • 容器与宿主机间的切换更方便、容器占用更少宿主机的磁盘空间

Alpine源加速

Alpine的包管理工具是apk,可以通过 https://pkgs.alpinelinux.org/packages 查询包信息。

由于 Alpine 的源服务器http://dl-cdn.alpinelinux.org/在国外,访问可能比较慢。下述是几个国内的源:

一般情况下 Alpine 的几个重要配置信息如下:

  • 系统内核版本:/etc/alpine-release
  • 系统位数: /etc/apk/arch
  • 默认源地址:/etc/apk/repositories
# 备份源地址配置
cp /etc/apk/repositories /etc/apk/repositories.bak
# 更新镜像源
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
# 更新索引并升级软件
apk --update-cache upgrade

apk包管理

详细可阅读官方 WIKI:Alpine Linux package management

$ apk update # 更新本地镜像源列表索引

$ apk search # 查找所以可用软件包
$ apk search --update # 查找所以可用软件包
$ apk search -v # 查找所有可用软件包及其描述内容
$ apk search -v <package> # 通过软件包名称(可使用通配符*匹配)查找软件包
$ apk search -v -d <package> # 通过描述文件查找特定的软件包

$ apk add  <package> [<package1> ...] # 安装一个或多个软件包
$ apk add --update-cache <package>  # 不使用本地镜像源缓存,相当于先执行 apk update ,再执行 apk add <package>
$ apk add --no-cache <package>  # 不使用本地镜像源缓存且不缓存源文件,相当于先执行 apk update ,再执行 apk add <package>

$ apk info # 列出所有已安装的软件包
$ apk info -a <package> # 显示软件包详细信息
$ apk info --who-owns /sbin/lbu #显示指定文件属于的包

$ apk upgrade # 升级所有已安装软件
$ apk upgrade <package> [<package1> ...] # 升级指定本地软件

$ apk del <package> [<package1> ...]  # 删除已安装的软件包

一般Alpine Docker的容器 Dockerfile 都是如下:

# Dockerfile 文件
# 指定基础镜像为最新版本的`alpine`,一般都会指定固定版本
FROM alpine:latest
# 作者介绍
MAINTAINER <name> <email>

# 1. 替换镜像源为国内镜像源
# 2. 安装指定软件包,且不更新源列表索引(缩减空间)
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
    && apk --no-cache add <package list ...>

如果想要使用的其他工具,Alpine Docker里面可以没有,需要自行使用apk安装才能使用。可以使用docker run -it alpine /bin/sh进入Alpine Docker进行试玩,或者在虚拟机中安装一个Alpine Linux系统试玩,其他命令参考此处

转载请声明出处: MinsonLee的博客:https://minsonlee.github.io

扫描下方二维码,关注公众号,接收更多实时内容

新猿呓码

打赏一个呗

取消

感谢客官打赏,您的打赏使我动力十足!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦