Alpine Docker 安装 bash

Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗。Alpine Linux提供了自己的包管理工具:apk,我们可以通过https://pkgs.alpinelinux.org/packages 查询包信息。

Alpine Docker镜像继承了Alpine Linux发行版的这些优势,相比于其他Linux Docker进行,它的体积非常小,docker.io/alpine:3.7只有4.15M,而 CentOS和Ubuntu系列的Docker镜像则都在200M左右。据说Docker官方也已开始推荐使用Alpine替代之前的Ubuntu来作为基础镜像,因为这样会带来多个好处,包括镜像下载速度加快,镜像安全性提高,占用更少的主机磁盘空间等。


Alpine Docker 安装 bash
alpine docker

Alpine Docker为了精简体积,是没有安装bash的,但我们可以依照需要定制一个安装bash的镜像,Dockerfile内容如下:

FROM alpine:3.7

MAINTAINER Rethink 
#更新Alpine的软件源为国内(清华大学)的站点,因为从默认官源拉取实在太慢了。。。
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/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

构建镜像:docker build -t alpine-bash . ,构建完成后查看镜像的体积也只有10.2M而已。

Alpine Docker 安装 bash
image.png

运行容器进行测试:docker run -it --rm alpine-bash
Alpine Docker 安装 bash
image.png

参考:

  1. How to install bash shell in Alpine Linux
  2. alpine Linux-apk软件包管理器,就这么用
上一篇:Linux环境变量总结


下一篇:MyEclipse 2016 破解详细过程