1、下载alpine镜像
[root@docker43 ~]# docker pull alpine
Using default tag: latest
Trying to pull repository docker.io/library/alpine ...
latest: Pulling from docker.io/library/alpine
4fe2ade4980c: Pull complete
Digest: sha256:621c2f39f8133acb8e64023a94dbdf0d5ca81896102b9e57c0dc184cadaf5528
Status: Downloaded newer image for docker.io/alpine:latest
[root@docker43 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/alpine latest 196d12cf6ab1 3 weeks ago 4.41 MB 2、通过dockerfile构建镜像
在其他的资料中很多都是下载包然后在dockerfile 使用COPY进行拷贝,这里我就不这样做了,我们分开写(都是通过dockerfile进行构建镜像)
2.1.构建jdk镜像
创建jdk目录
[root@docker43 ~]# cd /opt/
[root@docker43 opt]# mkdir -p alpine_jre && cd alpine_jre && touch Dockerfile
[root@docker43 alpine_jre]# ll
总用量 0
-rw-r--r-- 1 root root 0 10月 6 17:39 Dockerfile 编写dockerfile文件
# 基础镜像
FROM alpine# 作者信息
MAINTAINER JRE Docker Maintainers "1024331014@qq.com"
# 修改源
RUN echo "http://mirrors.aliyun.com/alpine/latest-stable/main/" > /etc/apk/repositories &&
echo "http://mirrors.aliyun.com/alpine/latest-stable/community/" >> /etc/apk/repositories
# 安装需要的软件
RUN apk update &&
apk add --no-cache ca-certificates &&
apk add --no-cache curl bash tree tzdata &&
cp -rf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 定义环境变量
ENV PATH /usr/local/bin:${PATH}
# 安装JRE
RUN apk add --nocache openjdk8-jre-base &&
rm -rf /var/cache/apk/*
RUN {
echo '#!/bin/sh';
echo 'set -e';
echo;
echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"';
} > /usr/local/bin/docker-java-home
&& chmod +x /usr/local/bin/docker-java-home
ENV JAVA_HOME /usr/lib/jvm/default-jvm
ENV PATH ${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin
ENV JAVA_VERSION 8u71
ENV JAVA_ALPINE_VERSION 8.171.11-r0
RUN set -x
&& apk add --no-cache
openjdk8-jre="$JAVA_ALPINE_VERSION"
创建镜像
[root@docker43 alpine_jre]# docker build -t alpine_jre . 查看镜像
[root@docker43 alpine_jre]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine_jre latest 614bc57ab66e 33 seconds ago 91.1 MB
docker.io/alpine latest 196d12cf6ab1 3 weeks ago 4.41 MB










