愿景:"让编程不再难学,让技术与生活更加有趣"
更多架构课程请访问 xdclass.net
目录
第1集 新版AlibabaCloud微服务本地镜像打包配置讲解
第2集 镜像打包脚本Dockerfile介绍和【新版JDK11】整合
第3集 AlibabaCloud-视频服务-订单服务Docker镜像打包
第4集 本地镜像推送阿里云私有镜像仓库
干货文档
第1集 新版AlibabaCloud微服务本地镜像打包配置讲解
简介:微服务Docker镜像打包讲解
- 官方文档:https://spring.io/guides/gs/spring-boot-docker/
- 父项目怎么springboot版本依赖
<properties>
<java.version>11</java.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<spring.boot.version>2.3.3.RELEASE</spring.boot.version>
</properties>
- 每个子模块项目添加依赖
//配置文件增加
<docker.image.prefix>xdclass</docker.image.prefix>
<build>
<finalName>alibaba-cloud-gateway</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<addResources>true</addResources>
</configuration>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.10</version>
<configuration>
<repository>${docker.image.prefix}/${project.artifactId}</repository>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
</plugins>
</build>
- Spotify 的 docker-maven-plugin 插件是用maven插件方式构建docker镜像的。
${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}
第2集 镜像打包脚本Dockerfile介绍和【新版JDK11】整合
简介:微服务Docker镜像打包整合JDK11
- 创建Dockerfile,默认是根目录,(可以修改为src/main/docker/Dockerfile,如果修则需要制定路径)
- 什么是Dockerfile
- 由一系列命令和参数构成的脚本,这些命令应用于基础镜像, 最终创建一个新的镜像
FROM adoptopenjdk/openjdk11:ubi
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
FROM <image>:<tag> 需要一个基础镜像,可以是公共的或者是私有的,
后续构建会基于此镜像,如果同一个Dockerfile中建立多个镜像时,可以使用多个FROM指令
VOLUME 配置一个具有持久化功能的目录,主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。改步骤是可选的,如果涉及到文件系统的应用就很有必要了。
/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录
ARG 设置编译镜像时加入的参数, JAR_FILE 是设置容器的环境变量(maven里面配置的)
COPY : 只支持将本地文件复制到容器 ,还有个ADD更强大但复杂点
ENTRYPOINT 容器启动时执行的命令
EXPOSE 8080 暴露镜像端口
- 构建镜像( 去到子模块pom文件下)
mvn install -Dmaven.test.skip=true dockerfile:build
- 打包网关镜像
第3集 AlibabaCloud-视频服务-订单服务Docker镜像打包
简介:微服务Docker镜像打包视频服务和订单服务
- 视频服务打包
- 订单服务打包
第4集 本地镜像推送阿里云私有镜像仓库
简介:本地多个镜像推送阿里云私有镜像仓库
- 阿里云私有镜像仓库创建
- 网关服务
//登录
docker login --username=釉釉cxy registry.cn-shenzhen.aliyuncs.com
//打标签
docker tag 494d49ea5e78 registry.cn-shenzhen.aliyuncs.com/xdclass-cloud/cloud-gateway:v1.0
//推送
docker push registry.cn-shenzhen.aliyuncs.com/xdclass-cloud/cloud-gateway:v1.0
- 订单服务
docker tag 06270304d1ec registry.cn-shenzhen.aliyuncs.com/xdclass-cloud/cloud-order:v1.0
docker push registry.cn-shenzhen.aliyuncs.com/xdclass-cloud/cloud-order:v1.0
- 视频服务推送
docker tag 8765039e03cd registry.cn-shenzhen.aliyuncs.com/xdclass-cloud/cloud-video:v1.0
docker push registry.cn-shenzhen.aliyuncs.com/xdclass-cloud/cloud-video:v1.0