Alpine简介
让未来到来,让过去过去。
Alpine 操作系统是一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐。在保持瘦身的同时,Alpine 还提供了自己的包管理工具 apk,可以通过 https://pkgs.alpinelinux.org/packages 网站上查询包信息,也可以直接通过 apk 命令直接查询和安装各种软件。
Alpine 由非商业组织维护的,支持广泛场景的 Linux发行版,它特别为资深/重度Linux用户而优化,关注安全,性能和资源效能。Alpine 镜像可以适用于更多常用场景,并且是一个优秀的可以适用于生产的基础系统/环境。
Alpine Docker 镜像也继承了 Alpine Linux 发行版的这些优势。相比于其他 Docker 镜像,它的容量非常小,仅仅只有 5 MB 左右(对比 Ubuntu 系列镜像接近 200 MB),且拥有非常友好的包管理机制。官方镜像来自 docker-alpine 项目。
目前 Docker 官方已开始推荐使用 Alpine 替代之前的 Ubuntu 做为基础镜像环境。这样会带来多个好处。包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等。
Docker下的运行
官方 Alpine 镜像的文档:http://gliderlabs.viewdocs.io/docker-alpine/
可以使用Docker Toolbox,创建一台Docker虚拟主机,在该主机的Docker环境下运行alpine的 Docker容器。该容器就是一个Alpine Linux系统,
1 | docker pull alpine |
作为Docker容器的基础镜像
以Alpine为基础镜像,创建一个MySQL容器,镜像大小只有36.5MB,
同样的方式使用Ubuntu系统作为基础镜像,镜像大小有184MB,
Dockerfile文件的内容:
1 | FROM alpine:3.6 |
创建一个test/mysqlclient:1.0镜像
1 | docker build -t test/mysqlclient:1.0 . |
Alpine的配置和使用
网络相关文件
主机名文件
1 | /etc/hostname |
主机IP和域名映射文件
1 | /etc/hosts |
安装nginx
1 | apk add --update nginx |
安装openssh-server服务器
1 | apk add openssh-server |
相关资源
- Alpine 官网:http://alpinelinux.org/
- Alpine 官方仓库:https://github.com/alpinelinux
- Alpine 官方镜像:https://hub.docker.com/_/alpine/
- Alpine 官方镜像仓库:https://github.com/gliderlabs/docker-alpine
https://blog.csdn.net/CSDN_duomaomao/article/details/76152416