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。

相關文章
相關標籤/搜索