Open zqr95518 opened 1 year ago
基础镜像用centos体积太大了,用eclipse-temurin:8-jre可以减少jre的安装步骤。 原镜像里包含wget所以其实啥都不需要装,只需要用apt-get更新一下组件。 制作出来的镜像大约是原来体积的一半,只测试了单例模式是可以正常使用的,希望可以提供一些参考。 下面是改过的dockerfile。(还改了个ln -snf不然会报错)
FROM eclipse-temurin:8-jre MAINTAINER pader "huangmnlove@163.com" # set environment ENV MODE="cluster" \ PREFER_HOST_MODE="ip"\ BASE_DIR="/home/nacos" \ CLASSPATH=".:/home/nacos/conf:$CLASSPATH" \ CLUSTER_CONF="/home/nacos/conf/cluster.conf" \ FUNCTION_MODE="all" \ JAVA_HOME="/opt/java/openjdk" \ NACOS_USER="nacos" \ JAVA="${JAVA_HOME}/bin/java" \ JVM_XMS="1g" \ JVM_XMX="1g" \ JVM_XMN="512m" \ JVM_MS="128m" \ JVM_MMS="320m" \ NACOS_DEBUG="n" \ TOMCAT_ACCESSLOG_ENABLED="false" \ TIME_ZONE="Asia/Shanghai" ARG NACOS_VERSION=2.2.1 ARG HOT_FIX_FLAG="" WORKDIR $BASE_DIR RUN set -x \ && apt-get update \ && apt-get upgrade --no-install-recommends --no-install-suggests -y RUN wget --no-check-certificate https://github.com/alibaba/nacos/releases/download/${NACOS_VERSION}${HOT_FIX_FLAG}/nacos-server-${NACOS_VERSION}.tar.gz -P /home RUN tar -xzvf /home/nacos-server-${NACOS_VERSION}.tar.gz -C /home \ && rm -rf /home/nacos-server-${NACOS_VERSION}.tar.gz /home/nacos/bin/* /home/nacos/conf/*.properties /home/nacos/conf/*.example /home/nacos/conf/nacos-mysql.sql RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone \ && apt-get purge -y --auto-remove ADD bin/docker-startup.sh bin/docker-startup.sh ADD conf/application.properties conf/application.properties # set startup log dir RUN mkdir -p logs \ && cd logs \ && touch start.out \ && ln -snf /dev/stdout start.out \ && ln -snf /dev/stderr start.out RUN chmod +x bin/docker-startup.sh EXPOSE 8848 ENTRYPOINT ["bin/docker-startup.sh"]
我觉得替换成openj9的镜像FROM adoptopenjdk/openjdk8-openj9:alpine-slim 会更好,内存占用也更低。
这个我没试过,上面那个我测试了一下至少单机版本是没问题的,肯定是比直接centos来的要小和安全
基础镜像用centos体积太大了,用eclipse-temurin:8-jre可以减少jre的安装步骤。 原镜像里包含wget所以其实啥都不需要装,只需要用apt-get更新一下组件。 制作出来的镜像大约是原来体积的一半,只测试了单例模式是可以正常使用的,希望可以提供一些参考。 下面是改过的dockerfile。(还改了个ln -snf不然会报错)