#设置镜像使用的基础镜像 FROM openjdk:8u322-jre-buster # 作者 # MAINTAINER niefy #设置镜像暴露的端口 这里要与application.properties中的server.port保持一致 EXPOSE 80 #设置容器的挂载卷 VOLUME /tmp #编译镜像时将springboot生成的jar文件复制到镜像中 ADD target/wx-api.jar /wx-api.jar #编译镜像时运行脚本 RUN bash -c 'touch /wx-api.jar' #容器的入口程序,这里注意如果要指定外部配置文件需要使用-spring.config.location指定配置文件存放目录 ENTRYPOINT ["java","-jar","/wx-api.jar"] # # # ## 选择构建用基础镜像。如需更换,请到[dockerhub官方仓库](https://hub.docker.com/_/java?tab=tags)自行选择后替换。 #FROM maven:3.6.0-jdk-8-slim as build # ## 指定构建过程中的工作目录 #WORKDIR /app # ## 将src目录下所有文件,拷贝到工作目录中src目录下(.gitignore/.dockerignore中文件除外) #COPY src /app/src # ## 将pom.xml文件,拷贝到工作目录下 #COPY settings.xml pom.xml /app/ # ## 执行代码编译命令 ## 自定义settings.xml, 选用国内镜像源以提高下载速度 #RUN mvn -s /app/settings.xml -f /app/pom.xml clean package # ## 选择运行时基础镜像 #FROM alpine:3.13 # ## 安装依赖包,如需其他依赖包,请到alpine依赖包管理(https://pkgs.alpinelinux.org/packages?name=php8*imagick*&branch=v3.13)查找。 ## 选用国内镜像源以提高下载速度 #RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tencent.com/g' /etc/apk/repositories \ # && apk add --update --no-cache openjdk8-jre-base \ # && rm -f /var/cache/apk/* # ## 容器默认时区为UTC,如需使用上海时间请启用以下时区设置命令 ## RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone # ## 使用 HTTPS 协议访问容器云调用证书安装 #RUN apk add ca-certificates # ## 指定运行时的工作目录 #WORKDIR /app # ## 将构建产物jar包拷贝到运行时目录中 #COPY --from=build /app/target/*.jar . # ## 暴露端口 ## 此处端口必须与「服务设置」-「流水线」以及「手动上传代码包」部署时填写的端口一致,否则会部署失败。 #EXPOSE 80 # ## 执行启动命令. ## 写多行独立的CMD命令是错误写法!只有最后一行CMD命令会被执行,之前的都会被忽略,导致业务报错。 ## 请参考[Docker官方文档之CMD命令](https://docs.docker.com/engine/reference/builder/#cmd) #CMD ["java", "-jar", "/app/springboot-wxcloudrun-1.0.jar"]