欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学习Docker19.03的第九章——微服务Docker容器化自动部署之环境准备(二)

程序员文章站 2022-04-18 21:26:52
...

本篇设置上传到阿里云的配置

一、先在阿里云设置容器服务镜像的上传密码

学习Docker19.03的第九章——微服务Docker容器化自动部署之环境准备(二)

二、修改maven的settings.xml文件

设置<server>标签内容

<server>
    <id>docker-aliyun</id>
    <username>阿里云注册账号</username>
    <password>上面设置的镜像固定密码</password>
</server>

三、在阿里云上添加镜像仓库

学习Docker19.03的第九章——微服务Docker容器化自动部署之环境准备(二)

 四、在微服务项目的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>

到此,向阿里云自动部署微服务的准备工作就全部做完了。