Docker容器-Alpine Linux

Docker容器-Alpine Linux

Alpine Linux的官网:linux

1. 前言

使用Docker建立容器时,基础镜像一般选择Ubuntu或Centos,无论哪一个镜像的大小都在100MB以上。nginx

Alpine Linux是一个面向安全的轻型的Linux发行版。docker

Alpine Linux采用了 musl libc 和 busybox以减少系统的体积和运行时资源消耗。浏览器

在保持瘦身的同时,Alpine Linux还提供了本身的包管理工具apk。安全

关键的是,相比于其余Linux的Docker镜像,它的容量很是小,仅仅只有5MB。dom

2. 使用Alpine镜像

下面使用Alpine镜像,来制做nginx容器。工具

2.1 制做Dockerfile

Docker内容很是简单,基础镜像使用Alipine,用apk安装nginx,指定暴露的端口,启动nginxui

# vi Dockerfilespa

FROM alpine:latest.net

MAINTAINER ee900222 ee900222@gmail.com

# install nginx

RUN apk --update add nginx

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]

 

2.2 用Dockerfile建立镜像

1

# docker build -t qinxue/nginx-t .

出现下面错误的时候,重启Docker能够解决。

1

ERROR: http://dl-4.alpinelinux.org/alpine/v3.3/main: temporary error (try again later)

2.3 用建立好的镜像启动容器

确认镜像信息

1

# docker images

能够看到,Alpine的镜像不到5MB,用Alpine做为基础镜像的nginx镜像不到7MB。

启动容器

1

# docker run --name da1 -d -p 81:80 qinxue/nginx-t

经过浏览器访问

3. 问题点

1. Alpine Linux使用了musl,可能和其余Linux发行版使用的glibc实现会有些不一样。

2. musl实现的DNS服务不会使用resolv.conf文件中的search和domain两个配置,经过DNS来进行服务发现时须要注意。

4. 后记

Alpine Linux的最大优点是小,有消息说Docker官方镜像将会使用Alpine Linux替换Ubuntu。

相关文章
相关标签/搜索