上一章节已经对alpine做了详细的讲解,本章主要通过一个小案例来讲述下Alpine Linux的应用。
1、准备jdk安装包
软件包下载链接:https://pan.baidu.com/s/1MJrZfEMofKoq0R6l66n0sg
提取码:5l03
2、拉取alpine镜像
docker search alpine
docker pull alpine
3、下载glibc
github下载链接:https://github.com/sgerrand/alpine-pkg-glibc/releases/
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.30-r0/glibc-2.30-r0.apk
或者百度云链接
链接:https://pan.baidu.com/s/1ZkKIv6dCetK2157e21V4tA
提取码:kgiy
4、编写dockerfile文件
cat <<EOF > dockerfile_jdk_1.8
FROM alpine:latest
#获取基础镜像
MAINTAINER WKX
#作者信息
RUN echo "http://mirrors.aliyun.com/alpine/v3.9/community" > /etc/apk/repositories && \
echo "http://mirrors.aliyun.com/alpine/v3.9/main" >> /etc/apk/repositories
#更新Alpine的软件源为国内(清华大学)的站点,默认官网比较慢
RUN apk update \
&& apk upgrade \
&& apk add --no-cache bash \
bash-doc \
bash-completion \
vim \
wget \
curl \
net-tools \
&& rm -rf /var/cache/apk/* \
&& /bin/bash
#安装vim bash curl wget net-tools
COPY glibc-2.30-r0.apk /opt
#将glibc复制到镜像中
RUN apk add --allow-untrusted /opt/glibc-2.30-r0.apk && \
rm -rf /opt/glibc-2.30-r0.apk && \
rm -rf /var/cache/apk/*
#Alpine安装 Glibc
ADD ./jdk-8u112-linux-x64.tar.gz /usr/local/
#将jdk复制到镜像中
ENV JAVA_HOME /usr/local/jdk1.8.0_112
ENV PATH ${PATH}:${JAVA_HOME}/bin
ENV CLASSPATH $JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#环境变量
EOF
5、构建镜像
docker build -t jdk:1.8 -f dockerfile_jdk_1.8 .
6、测试
对比发现,采用alpine制作的jdk镜像要比用centos镜像制作的jdk要小得多
docker run -it jdk:1.8 /bin/bash
bash-4.4# java -version