学习Docker19.03的第九章——微服务Docker容器化自动部署之环境准备(二)
程序员文章站
2022-04-18 21:26:52
...
本篇设置上传到阿里云的配置
一、先在阿里云设置容器服务镜像的上传密码
二、修改maven的settings.xml文件
设置<server>标签内容
<server>
<id>docker-aliyun</id>
<username>阿里云注册账号</username>
<password>上面设置的镜像固定密码</password>
</server>
三、在阿里云上添加镜像仓库
四、在微服务项目的pom文件中添加docker-maven插件
在</dependencies>与</project>之间插入下面的代码段,根据自己机器和项目的情况调整
<build>
<finalName>app</finalName>
<plugins>
<!-- 插件一定要在其他构建插件之上,否则打包文件会有问题。 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- docker的maven插件,官网:
https://github.com/spotify/docker-maven-plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<!--生成镜像相关配置-->
<configuration>
<!-- 将forceTags设为true,这样就会覆盖构建相同标签的镜像 -->
<forceTags>true</forceTags>
<!-- 远程 docker 宿主机地址, 端口号是/lib/systemd/system/docker.service所暴露的端口号, 生成镜像到docker中 -->
<dockerHost>http://192.168.1.12:2375</dockerHost>
<!--内容是之前修改的maven的settings.xml配置文件中,server节点的id-->
<serverId>docker-aliyun</serverId>
<!-- 镜像名:阿里云镜像仓库地址
${project.artifactId}引用当前工程名,
${project.version}引用当前工程版本号
registry.cn-hangzhou.aliyuncs.com/mengxuegu/demo:0.0.1-SNAPSHOT -->
<imageName>registry.cn-hangzhou.aliyuncs.com/picc_docker/${project.artifactId}:${project.version}</imageName>
<!--基础镜像 FORM java-->
<!--<baseImage>jdk:1.8</baseImage>-->
<baseImage>java</baseImage>
<!--类似于Dockerfile的ENTRYPOINT指令 java -jar /app.jar-->
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource> <!-- 指定打包的资源文件 -->
<targetPath>/</targetPath> <!-- 指定要复制的目录路径,这里是当前目录 -->
<directory>${project.build.directory}</directory> <!-- 指定要复制的根目录,这里是target目录 -->
<include>${project.build.finalName}.jar</include> <!-- 这里指定最后生成的jar包 -->
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
到此,向阿里云自动部署微服务的准备工作就全部做完了。