Docker系列之(三):Docker微容器Alpine Linux
2017-09-15 09:19
267 查看
1. 前言
使用Docker创建容器时,基础镜像通常选择Ubuntu或Centos,不管哪个镜像的大小都在100MB以上。Alpine Linux是一个面向安全的轻型的Linux发行版。
Alpine Linux采用了 musl libc 和 busybox以减小系统的体积和运行时资源消耗。
在保持瘦身的同时,Alpine Linux还提供了自己的包管理工具apk。
关键的是,相比于其他Linux的Docker镜像,它的容量非常小,仅仅只有5MB。
Alpine Linux的官网:
http://www.alpinelinux.org/ https://pkgs.alpinelinux.org/packages
2. 使用Alpine镜像
下面使用Alpine镜像,来制作nginx容器。
2.1 制作Dockerfile
Docker内容非常简单,基础镜像使用Alipine,用apk安装nginx,指定暴露的端口,启动nginx
2.2 用Dockerfile创建镜像
2.3 用创建好的镜像启动容器
确认镜像信息可以看到,Alpine的镜像不到5MB,用Alpine作为基础镜像的nginx镜像不到7MB。
启动容器
3. 问题点
1. Alpine Linux使用了musl,可能和其他Linux发行版使用的glibc实现会有些不同。2. musl实现的DNS服务不会使用resolv.conf文件中的search和domain两个配置,通过DNS来进行服务发现时需要注意。
4. 后记
Alpine Linux的最大优势是小,有消息说Docker官方镜像将会使用Alpine Linux替换Ubuntu。
相关文章推荐
- Docker系列之(三):Docker微容器Alpine Linux
- Docker系列之(三):Docker微容器Alpine Linux
- Docker系列之(三):Docker微容器Alpine Linux
- docker 系列 - 容器数据持久化和数据共享
- Docker系列之二:基于容器的自动构建
- 11 - Dockerfile之容器中运行MyEclipse搭建的JavaWeb项目(Docker系列)
- Docker系列(二)---容器
- Docker系列文章--Docker容器内多进程管理(一)
- Docker系列~配置外部访问容器中的Redis服务(十)
- Docker 快速上手系列(2): 容器的概念及相关操作
- Docker系列之使用Docker Compose编排容器
- Easypack容器系列之:Nexus 3:Docker私库
- Easypack容器系列之Nexus 3:Docker私有仓库
- Docker深入浅出系列教程——容器管理
- 【docker】进入容器内部 命令 docker-compose系列
- 容器与Docker简介(一)——微软微服务电子书翻译系列
- 容器与Docker简介(二)什么是DOCKER——微软微服务电子书翻译系列
- Docker深入浅出系列教程——容器管理
- 容器与Docker简介(四)Docker容器,镜像与 Registries——微软微服务电子书翻译系列
- Docker计划将镜像迁移至Alpine Linux平台,简化容器运行环境