1、jdk
cat my.env.shexport JAVA_HOME=/usr/java/jdk1.8.0_291-aarch64export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jarexport PATH=$PATH:${JAVA_HOME}/bin
FROM geray/centos:v7.3.1#FROM centos:7LABEL maintainer="Geray <1690014753@qq.com>" \image.authors="geray" \image.description="Application packaged by Geray" \image.ref.name="geray/centos:v7.3.1" \image.title="HotspotJDK" \version="jdk-8u291" \image.vendor="VMware, Inc." \build.date="2022.10.19"#COPY my_env.sh /etc/profile.d/COPY jdk-8u291-linux-aarch64.rpm /RUN rpm -ivh /jdk-8u291-linux-aarch64.rpm ; \rm -rf /jdk-8u291-linux-aarch64.rpmENV JAVA_HOME=/usr/java/jdk1.8.0_291-aarch64 \JRE_HOME=$JAVA_HOME/jre \CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar \PATH=$PATH:${JAVA_HOME}/bin
docker build -t geray/hs_jdk:v1.8.0_291 .
2、jdk-apline
FROM geray/alpine:3.16.2LABEL maintainer="Geray <1690014753@qq.com>" \image.authors="geray" \image.description="Application packaged by Geray" \image.ref.name="geray/alpine:3.16.2" \version="jdk-8u291" \image.vendor="VMware, Inc." \build.date="2023.1.4"#RUN /bin/sh -c set -x yum -y install kde-l10n-Chinese telnet wget iproute net-tools && yum -y reinstall glibc-common && yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y && rm -rf /var/cache/yum/* # buildkitRUN set -x ; \apt-get -y install telnet wget iproute net-tools reinstall glibc-common git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vimENV JAVA_HOME=/usr/java/jdk1.8.0_291-aarch64 \JRE_HOME=$JAVA_HOME/jre \CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar \PATH=$PATH:${JAVA_HOME}/bin
2、jdk-rpm-x86
jdk下载:
Download the Latest Java LTS Free
FROM geray/centos:v7.3.1LABEL maintainer="Geray <1690014753@qq.com>" \image.authors="geray" \image.description="Application packaged by Geray" \image.ref.name="geray/centos:v7.3.1" \image.title="HotspotJDK" \version="openjdk-1.8.0.352.b08" \#version="jdk-8u352" \image.vendor="VMware, Inc." \build.date="2023.1.3"RUN set -x ;\yum -y install java-1.8.0-openjdk-devel.x86_64 ;\yum clean all ; \rm -rf /var/cache/yum/*ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/ \JRE_HOME=$JAVA_HOME/jre \CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar \PATH=$PATH:${JAVA_HOME}/bin
docker buildx build -t geray/openjdk:1.8.0.352.b08 --platform=linux/amd64,linux/arm64 --push .
3、kafka
confluent-community-7.1.1.tar.gz资产元数据镜像构建
1、解压confluent-community-7.1.1.tar.gz2、运行启动命令目录:/opt/confluent-7.1.1- zookeeper启动脚本目录:bin/zookeeper-server-start配置文件目录:etc/kafka/zookeeper.properties启动命令:bin/zookeeper-server-start -daemon etc/kafka/zookeeper.properties- kafka启动脚本目录:bin/kafka-server-start配置文件目录:etc/kafka/server.properties启动命令 :bin/kafka-server-start -daemon etc/kafka/server.properties- schemaRegistry启动脚本目录:bin/schema-registry-start配合文件目录:etc/schema-registrt/schema-registry.properties启动命令:bin/schema-registry-start -daemon etc/schema-registry/schema-registry.properties
1. zookeeper
FROM openjdk:8-jdkLABEL maintainer="Geray <1690014753@qq.com>" \image.authors="geray" \image.description="Application packaged by Geray" \image.ref.name="openjdk:8-jdk" \image.title="zookeeper" \image.vendor="VMware, Inc." \build.date="2022.11.18"#ENV ZK_VERSION 7.1.1#ENV SCALA_VERSION 2.13ENV JDK_VERSION 8ENV confluent-community=7.1.1ADD confluent-community-7.1.1.tar.gz /WORKDIR /confluent-community-7.1.1# data目录#VOLUME /tmp/zookeeper#VOLUME /opt/zookeeper/logs#VOLUME /opt/zookeeper/confEXPOSE 2181 9092 8081# 测试#CMD ["/confluent-7.1.1/bin/zookeeper-server-start", "/confluent-7.1.1/etc/kafka/zookeeper.properties"]# zk配置ENTRYPOINT ["/confluent-7.1.1/bin/zookeeper-server-start"]CMD ["/confluent-7.1.1/etc/kafka/zookeeper.properties"]# kafka配置#ENTRYPOINT ["/confluent-7.1.1/bin/kafka-server-start"]#CMD ["/confluent-7.1.1/etc/kafka/server.properties"]# schema-registry配置#ENTRYPOINT ["/confluent-7.1.1/bin/schema-registry-start"]#CMD ["/confluent-7.1.1/etc/schema-registry/schema-registry.properties"]
- 构建
docker build -t geray/zookeeper:confluent-community-7.1.1-arm64 .docker build -t geray/kafka:confluent-community-7.1.1-arm64 .docker build -t geray/kafka-schema-registry:confluent-community-7.1.1-arm64 .
4. 构建一个镜像根据环境变量控制启动不同服务
- 启动脚本
#!/bin/bash# 根据环境变量判断所启动的服务if [ $SERVICE -eq "zookeeper" ];then/confluent-7.1.1/bin/zookeeper-server-start /confluent-7.1.1/etc/kafka/zookeeper.propertieselse if [ $SERVICE -eq "kafka" ]/confluent-7.1.1/bin/kafka-server-start /confluent-7.1.1/etc/kafka/server.propertieselse/confluent-7.1.1/bin/schema-registry-start /confluent-7.1.1/etc/schema-registry/schema-registry.propertiesfi
- Dockerfile
FROM openjdk:8-jdkLABEL maintainer="Geray <1690014753@qq.com>" \image.authors="geray" \image.description="Application packaged by Geray" \image.ref.name="openjdk:8-jdk" \image.title="zookeeper" \image.vendor="VMware, Inc." \build.date="2022.11.18"#ENV ZK_VERSION 7.1.1#ENV SCALA_VERSION 2.13ENV JDK_VERSION 8ENV confluent-community=7.1.1ADD confluent-community-7.1.1.tar.gz /WORKDIR /confluent-community-7.1.1# data目录#VOLUME /tmp/zookeeper#VOLUME /opt/zookeeper/logs#VOLUME /opt/zookeeper/confEXPOSE 2181 9092 8081# 测试#CMD ["/confluent-7.1.1/bin/zookeeper-server-start", "/confluent-7.1.1/etc/kafka/zookeeper.properties"]# zk配置ENTRYPOINT ["/confluent-7.1.1/bin/zookeeper-server-start"]CMD ["/confluent-7.1.1/etc/kafka/zookeeper.properties"]# kafka配置#ENTRYPOINT ["/confluent-7.1.1/bin/kafka-server-start"]#CMD ["/confluent-7.1.1/etc/kafka/server.properties"]# schema-registry配置#ENTRYPOINT ["/confluent-7.1.1/bin/schema-registry-start"]#CMD ["/confluent-7.1.1/etc/schema-registry/schema-registry.properties"]
