alpine是一个轻量级的linux系统,由于太轻量了,目前被广泛用于docker镜像的制作上了(最新版的docker镜像才5M)。
体积小就有缺点了,缺点就是内部除了基本的命令以外,大部门的功能都不支持,默认连bash都没有。需要自己手动添加并重新构建。
1. 基于alpine:3.8添加bash并设置阿里云源
1 2 3 4 5 6 7 8 9 10 11 | FROM alpine:3.8 MAINTAINER MaQian RUN echo "https://mirrors.aliyun.com/alpine/v3.8/main/" > /etc/apk/repositories RUN apk update \ && apk upgrade \ && apk add --no-cache bash bash-doc bash-completion \ && rm -rf /var/cache/apk/* \ && /bin/bash |
2. 基于最新版alpine并设置阿里云源
相比上面的多了一个获取当前版本的逻辑,Dockerfile
如下:
1 2 3 4 5 6 7 8 9 10 | from alpine:latest MAINTAINER MaQian RUN alpine_version=`cat /etc/issue | head -1 | awk '{print $5}'` \ && echo "https://mirrors.aliyun.com/alpine/v${alpine_version}/main/" > /etc/apk/repositories \ && apk update && apk upgrade && apk add --no-cache bash bash-doc bash-completion \ && rm -rf /var/cache/apk/* CMD ["/bin/bash"] |