diff --git a/serviceImageBuilder/Dockfile b/serviceImageBuilder/Dockfile new file mode 100644 index 0000000..08a7663 --- /dev/null +++ b/serviceImageBuilder/Dockfile @@ -0,0 +1,22 @@ +# 使用一个基础镜像 +#FROM openjdk:11-jre-slim +FROM tuoheng/centos:base +USER th +# 定义构建参数 +ARG SW_APP_NAME +ARG SW_SKY_AOP +# 设置工作目录 +WORKDIR /data/java/tuoheng +COPY apache-skywalking-java-agent-9.0.0.tgz . +RUN tar -zxvf apache-skywalking-java-agent-9.0.0.tgz +#复制应用程序到容器中 +COPY tuoheng.jar . +# 设置环境变量 +ENV PATH="/usr/java/jdk/bin:${PATH}" +ENV SW_AGENT_COLLECTOR_BACKEND_SERVICES="${SW_SKY_AOP}" \ + SW_AGENT_NAME="${SW_APP_NAME}" +#暴露应用程序的端口 +#EXPOSE 8090 +# 运行应用程序 +ENTRYPOINT ["java", "-Dfile.encoding=UTF-8","-javaagent:/data/java/tuoheng/skywalking-agent/skywalking-agent.jar","-jar","tuoheng.jar"] + \ No newline at end of file diff --git a/serviceImageBuilder/builder.sh b/serviceImageBuilder/builder.sh new file mode 100644 index 0000000..a43290f --- /dev/null +++ b/serviceImageBuilder/builder.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# This script builds the Docker image +# 读取第一个参数 +if [ $# -ne 2 ]; then + echo "错误:调用该脚本时必须传入 2 个参数。" + exit 1 +fi +echo "服务名: $1 Java包: $2" +rm tuoheng.jar +cp $2 tuoheng.jar +source ../environment.sh +export APP_NAME=$1 +#docker service rm $APP_NAME +sleep 5 +docker container prune -f +sleep 5 +cp /data/java/apache-skywalking-java-agent-9.0.0.tgz apache-skywalking-java-agent-9.0.0.tgz +docker image rm $REGISTRY/tuoheng/$APP_NAME:$DOMAIN +docker build --no-cache \ + --build-arg SW_APP_NAME=$APP_NAME \ + --build-arg SW_SKY_AOP=$SKY_AOP \ + -t $REGISTRY/tuoheng/$APP_NAME:$DOMAIN . # 注意末尾的 `.` 表示当前路径 +docker push $REGISTRY/tuoheng/$APP_NAME:$DOMAIN \ No newline at end of file