实战交付dubbo微服务到k8s_05微服务底包镜像制作

运维主机上hdss7-200.host.com上面操作
自定义Dockfile
找到一个合适的 jre运维时环境的底包
docker pull docker.io/stanleyws/jre8:8u112



上传镜像到 harbor
docker images |grep jre
docker tag fa3a085d6ef1 harbor.od.com/public/jre:8u112
docker push harbor.od.com/public/jre:8u112



mkdir -p /data/dockerfile/jre8 && cd /data/dockerfile/jre8

vim Dockerfile

FROM harbor.od.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"]



jmx_javaagent-0.3.1.jar ##采集jvm信息的一个java包
/opt/prom/config.yml #普罗米修斯 匹配规划
entrypoint.sh ## docker 运行的默认启动脚本

cd /data/dockerfile/jre8

vim config.yml

---
rules:
  - pattern: '.*'


下载jmx_javaagent-0.3.1.jar

cd /data/dockerfile/jre8
wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.3.1/jmx_prometheus_javaagent-0.3.1.jar -O jmx_javaagent-0.3.1.jar

cd /data/dockerfile/jre8

vim entrypoint.sh

#!/bin/sh
M_OPTS="-Duser.timezone=Asia/shanghai -javaagent:/opt/prom/jmx_javaagent-0.3.1.jar=$(hostname -i):${N_PORT:-"12346"}:/opt/prom/config.yml"
C_OPTS=${C_OPTS}
JAR_BALL=${JAR_BALL}
exec java -jar ${M_OPTS} ${C_OPTS} ${JAR_BALL}


chmod +x entrypoint.sh


登录harbor 创建一个仓库 base


制作 dubbo服务docker底包

cd /data/dockerfile/jre8
docker build . -t harbor.od.com/base/jre8:8u112



docker push harbor.od.com/base/jre8:8u112