基于alpine用dockerfile创建的tomcat镜像的实现

2020-06-17 06:47:58易采站长站整理

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