11.实战交付一套dubbo微服务到k8s集群(3)之dubbo微服务底包镜像制作

1.下载jre镜像并推送到harbor

[root@hdss7-200 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/yfhub/jre8:8u112
[root@hdss7-200 ~]# docker tag registry.cn-hangzhou.aliyuncs.com/yfhub/jre8:8u112 harbor.fx.com/public/jre8:8u112
docker push harbor.fx.com/public/jre8:8u112

2.自定义Dockerfile文件

[root@hdss7-200 ~]#  mkdir -p /data/dockerfile/jre8
[root@hdss7-200 ~]# vim /data/dockerfile/jre8/Dockerfile 
FROM harbor.fx.com/public/jre:8u112
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&\
    echo 'Asia/Shanghai' >/etc/timezone
ADD config.yml /opt/prom/config.yml
ADD jmx_javaagent-0.3.1.jar /opt/prom/
workdir /opt/project_dir
ADD entrypoint.sh /entrypoint.sh
CMD ["/entrypoint.sh"]
[root@hdss7-200 ~]# chmod +x /data/dockerfile/jre8/entrypoint.sh

config.yml文件

[root@hdss7-200 ~]# vim /data/dockerfile/jre8/config.yml 
---
rules:
  - pattern: '.*'

entrypoint.sh

[root@hdss7-200 ~]# vim /data/dockerfile/jre8/entrypoint.sh 
#!/bin/sh
M_OPTS="-Duser.timezone=Asia/Shanghai -javaagent:/opt/prom/jmx_javaagent-0.3.1.jar=$(hostname -i):${M_PORT:-"12346"}:/opt/prom/config.yml"
C_OPTS=${C_OPTS}
JAR_BALL=${JAR_BALL}
exec java -jar ${M_OPTS} ${C_OPTS} ${JAR_BALL}

下载jmx_javaagent-0.3.1.jar

[root@hdss7-200 ~]# wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.3.1/jmx_prometheus_javaagent-0.3.1.jar -O /data/dockerfile/jre8/jmx_javaagent-0.3.1.jar

3.在harbor里创建一个公有的base(所有底包)仓库

4.构建底包并且上传到harbor

[root@hdss7-200 jre8]# docker build . -t harbor.fx.com/base/jre8:8u112
[root@hdss7-200 jre8]# docker push harbor.fx.com/base/jre8:8u112

 

相关文章

在网络请求时,总会有各种异常情况出现,我们需要提前处理这...
作者:宇曾背景软件技术的发展历史,从单体的应用,逐渐演进...
hello,大家好呀,我是小楼。最近一个技术群有同学at我,问我...
 一个软件开发人员,工作到了一定的年限(一般是3、4年左右...
当一个服务调用另一个远程服务出现错误时的外观Dubbo提供了多...
最近在看阿里开源RPC框架Dubbo的源码,顺带梳理了一下其中用...