1、jdk

  1. cat my.env.sh
  2. export JAVA_HOME=/usr/java/jdk1.8.0_291-aarch64
  3. export JRE_HOME=$JAVA_HOME/jre
  4. export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
  5. export PATH=$PATH:${JAVA_HOME}/bin
  1. FROM geray/centos:v7.3.1
  2. #FROM centos:7
  3. LABEL maintainer="Geray <1690014753@qq.com>" \
  4. image.authors="geray" \
  5. image.description="Application packaged by Geray" \
  6. image.ref.name="geray/centos:v7.3.1" \
  7. image.title="HotspotJDK" \
  8. version="jdk-8u291" \
  9. image.vendor="VMware, Inc." \
  10. build.date="2022.10.19"
  11. #COPY my_env.sh /etc/profile.d/
  12. COPY jdk-8u291-linux-aarch64.rpm /
  13. RUN rpm -ivh /jdk-8u291-linux-aarch64.rpm ; \
  14. rm -rf /jdk-8u291-linux-aarch64.rpm
  15. ENV JAVA_HOME=/usr/java/jdk1.8.0_291-aarch64 \
  16. JRE_HOME=$JAVA_HOME/jre \
  17. CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar \
  18. PATH=$PATH:${JAVA_HOME}/bin
  1. docker build -t geray/hs_jdk:v1.8.0_291 .

2、jdk-apline

  1. FROM geray/alpine:3.16.2
  2. LABEL maintainer="Geray <1690014753@qq.com>" \
  3. image.authors="geray" \
  4. image.description="Application packaged by Geray" \
  5. image.ref.name="geray/alpine:3.16.2" \
  6. version="jdk-8u291" \
  7. image.vendor="VMware, Inc." \
  8. build.date="2023.1.4"
  9. #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/* # buildkit
  10. RUN set -x ; \
  11. 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 vim
  12. ENV JAVA_HOME=/usr/java/jdk1.8.0_291-aarch64 \
  13. JRE_HOME=$JAVA_HOME/jre \
  14. CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar \
  15. PATH=$PATH:${JAVA_HOME}/bin

2、jdk-rpm-x86

jdk下载:

Download the Latest Java LTS Free

  1. FROM geray/centos:v7.3.1
  2. LABEL maintainer="Geray <1690014753@qq.com>" \
  3. image.authors="geray" \
  4. image.description="Application packaged by Geray" \
  5. image.ref.name="geray/centos:v7.3.1" \
  6. image.title="HotspotJDK" \
  7. version="openjdk-1.8.0.352.b08" \
  8. #version="jdk-8u352" \
  9. image.vendor="VMware, Inc." \
  10. build.date="2023.1.3"
  11. RUN set -x ;\
  12. yum -y install java-1.8.0-openjdk-devel.x86_64 ;\
  13. yum clean all ; \
  14. rm -rf /var/cache/yum/*
  15. ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/ \
  16. JRE_HOME=$JAVA_HOME/jre \
  17. CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar \
  18. PATH=$PATH:${JAVA_HOME}/bin
  1. 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. 1、解压confluent-community-7.1.1.tar.gz
  2. 2、运行启动命令
  3. 目录:/opt/confluent-7.1.1
  4. - zookeeper
  5. 启动脚本目录:bin/zookeeper-server-start
  6. 配置文件目录:etc/kafka/zookeeper.properties
  7. 启动命令:bin/zookeeper-server-start -daemon etc/kafka/zookeeper.properties
  8. - kafka
  9. 启动脚本目录:bin/kafka-server-start
  10. 配置文件目录:etc/kafka/server.properties
  11. 启动命令 bin/kafka-server-start -daemon etc/kafka/server.properties
  12. - schemaRegistry
  13. 启动脚本目录:bin/schema-registry-start
  14. 配合文件目录:etc/schema-registrt/schema-registry.properties
  15. 启动命令:bin/schema-registry-start -daemon etc/schema-registry/schema-registry.properties

1. zookeeper

  1. FROM openjdk:8-jdk
  2. LABEL maintainer="Geray <1690014753@qq.com>" \
  3. image.authors="geray" \
  4. image.description="Application packaged by Geray" \
  5. image.ref.name="openjdk:8-jdk" \
  6. image.title="zookeeper" \
  7. image.vendor="VMware, Inc." \
  8. build.date="2022.11.18"
  9. #ENV ZK_VERSION 7.1.1
  10. #ENV SCALA_VERSION 2.13
  11. ENV JDK_VERSION 8
  12. ENV confluent-community=7.1.1
  13. ADD confluent-community-7.1.1.tar.gz /
  14. WORKDIR /confluent-community-7.1.1
  15. # data目录
  16. #VOLUME /tmp/zookeeper
  17. #VOLUME /opt/zookeeper/logs
  18. #VOLUME /opt/zookeeper/conf
  19. EXPOSE 2181 9092 8081
  20. # 测试
  21. #CMD ["/confluent-7.1.1/bin/zookeeper-server-start", "/confluent-7.1.1/etc/kafka/zookeeper.properties"]
  22. # zk配置
  23. ENTRYPOINT ["/confluent-7.1.1/bin/zookeeper-server-start"]
  24. CMD ["/confluent-7.1.1/etc/kafka/zookeeper.properties"]
  25. # kafka配置
  26. #ENTRYPOINT ["/confluent-7.1.1/bin/kafka-server-start"]
  27. #CMD ["/confluent-7.1.1/etc/kafka/server.properties"]
  28. # schema-registry配置
  29. #ENTRYPOINT ["/confluent-7.1.1/bin/schema-registry-start"]
  30. #CMD ["/confluent-7.1.1/etc/schema-registry/schema-registry.properties"]
  • 构建
  1. docker build -t geray/zookeeper:confluent-community-7.1.1-arm64 .
  2. docker build -t geray/kafka:confluent-community-7.1.1-arm64 .
  3. docker build -t geray/kafka-schema-registry:confluent-community-7.1.1-arm64 .

4. 构建一个镜像根据环境变量控制启动不同服务

  • 启动脚本
  1. #!/bin/bash
  2. # 根据环境变量判断所启动的服务
  3. if [ $SERVICE -eq "zookeeper" ];then
  4. /confluent-7.1.1/bin/zookeeper-server-start /confluent-7.1.1/etc/kafka/zookeeper.properties
  5. else if [ $SERVICE -eq "kafka" ]
  6. /confluent-7.1.1/bin/kafka-server-start /confluent-7.1.1/etc/kafka/server.properties
  7. else
  8. /confluent-7.1.1/bin/schema-registry-start /confluent-7.1.1/etc/schema-registry/schema-registry.properties
  9. fi
  • Dockerfile
  1. FROM openjdk:8-jdk
  2. LABEL maintainer="Geray <1690014753@qq.com>" \
  3. image.authors="geray" \
  4. image.description="Application packaged by Geray" \
  5. image.ref.name="openjdk:8-jdk" \
  6. image.title="zookeeper" \
  7. image.vendor="VMware, Inc." \
  8. build.date="2022.11.18"
  9. #ENV ZK_VERSION 7.1.1
  10. #ENV SCALA_VERSION 2.13
  11. ENV JDK_VERSION 8
  12. ENV confluent-community=7.1.1
  13. ADD confluent-community-7.1.1.tar.gz /
  14. WORKDIR /confluent-community-7.1.1
  15. # data目录
  16. #VOLUME /tmp/zookeeper
  17. #VOLUME /opt/zookeeper/logs
  18. #VOLUME /opt/zookeeper/conf
  19. EXPOSE 2181 9092 8081
  20. # 测试
  21. #CMD ["/confluent-7.1.1/bin/zookeeper-server-start", "/confluent-7.1.1/etc/kafka/zookeeper.properties"]
  22. # zk配置
  23. ENTRYPOINT ["/confluent-7.1.1/bin/zookeeper-server-start"]
  24. CMD ["/confluent-7.1.1/etc/kafka/zookeeper.properties"]
  25. # kafka配置
  26. #ENTRYPOINT ["/confluent-7.1.1/bin/kafka-server-start"]
  27. #CMD ["/confluent-7.1.1/etc/kafka/server.properties"]
  28. # schema-registry配置
  29. #ENTRYPOINT ["/confluent-7.1.1/bin/schema-registry-start"]
  30. #CMD ["/confluent-7.1.1/etc/schema-registry/schema-registry.properties"]