alpine是一个轻量级的linux系统,由于太轻量了,目前被广泛用于docker镜像的制作上了(最新版的docker镜像才5M)。

体积小就有缺点了,缺点就是内部除了基本的命令以外,大部门的功能都不支持,默认连bash都没有。需要自己手动添加并重新构建。

1. 基于alpine:3.8添加bash并设置阿里云源

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如下:

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"]
最后修改:2019 年 04 月 28 日
喜欢就给我点赞吧