暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

容器镜像打包的简单处理

济南小老虎 2024-10-04
58

背景说明

每次临近重要日子
各种境外网站都会嗝屁

没办法, 同事又要求进行一下xc设备的镜像验证
我这边先找同事帮忙要了一个base images
然后进行了一些相关的处理


私有镜像库的public镜像

registry.xxxxx.com/public/docker.io/library/eclipse-temurin:8-jdk
同事告知, 现在建议使用这个 eclipse-temurin
比较适合生产环境的运行.

AdoptOpenJDK最高只到16,是没有更新吗?了解了一下,
原来是AdoptOpenJDK被废弃了,那该怎么办呢?
这就要提到Eclipse基金会旗下的ADOPTIUM了,
它是一个发布二进制安装包的项目,而OpenJDK的发行版也被其囊括在内。
AdoptOpenJDK从长远考虑,加入到ADOPTIUM,成为Eclipse Temurin。
它被设定为用于苛刻的生产环境,换句话说AdoptOpenJDK改名了,
叫做Eclipse Temurin。


打包镜像的快速方法

FROM registry.xxxxxx.com/public/docker.io/library/eclipse-temurin:8-jdk
WORKDIR app
COPY gscloud app
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dloader.path=./server/runtime/3rd,./server/runtime/libs", \
"-Dparallel.startup=true","-Dserver.runtime.path.name=server","-XX:+UseContainerSupport","-XX:MaxRAMPercentage=75.0", \
"-XX:InitialRAMPercentage=75.0","-XX:MinRAMPercentage=75.0","-XX:+DisableExplicitGC","-XX:+PrintGC","-XX:+PrintGCDateStamps", \
"-XX:+PrintGCDetails","-XX:+PrintGCTimeStamps","-Xloggc:/app/dump/gclog","-XX:+HeapDumpOnOutOfMemoryError",\
"-XX:HeapDumpPath=/app/dump","-jar","./server/runtime/caf-bootstrap.jar","--spring.config.location=./server/runtime/"]


打包镜像

docker build . -t baseimages:01


分层打包的快速方法

FROM baseimages:01
COPY application.yaml app/server/runtime/application.yaml
ENV TZ=Asia/Shanghai
WORKDIR app
ADD myfonts.tar.gz usr/share/fonts/
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dloader.path=./server/runtime/3rd,./server/runtime/libs", \
"-Dparallel.startup=true","-Dserver.runtime.path.name=server","-XX:+UseContainerSupport","-XX:MaxRAMPercentage=75.0", \
"-XX:InitialRAMPercentage=75.0","-XX:MinRAMPercentage=75.0","-XX:+DisableExplicitGC","-XX:+PrintGC","-XX:+PrintGCDateStamps", \
"-XX:+PrintGCDetails","-XX:+PrintGCTimeStamps","-XX:+HeapDumpOnOutOfMemoryError","-XX:+PrintGCCause","-XX:+PrintGCApplicationStoppedTime",\
"-XX:HeapDumpPath=/app/dump","-jar","./server/runtime/caf-bootstrap.jar","--spring.config.location=./server/runtime/"]


分层打包第二层

docker build . -t baseimages:02

说明, 可以修改配置文件进行注入, 这样基于基础镜像可以实现微服务的拆分.


文章转载自济南小老虎,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论