zoukankan      html  css  js  c++  java
  • 使用maven插件构建docker镜像并推送到阿里镜像仓库

    1、阿里云镜像仓库

    阿里云提供了docker镜像仓库,可以上传私有的镜像

    2、com.spotify 提供的docker构建插件 docker-maven-plugin

    <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
    </plugin>

    3、window docker

    需要启用 Hyper-V 功能,然后安装docker

    具体配置:

    1、maven docker-maven-plugin 插件

    <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
    
        <configuration>
            <serverId>docker-aliyun</serverId>
            <registryUrl>registry.cn-hangzhou.aliyuncs.com</registryUrl>
    
            <baseImage>java:8</baseImage>
            <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
    
            <imageName>registry.cn-hangzhou.aliyuncs.com/company/image-name</imageName>
    
            <resources>
                <resource>
                    <targetPath>/</targetPath>
                    <directory>${project.build.directory}</directory>
                    <include>${project.build.finalName}.jar</include>
                </resource>
            </resources>
        </configuration>
    </plugin>

    2、修改 ~/.docker/config.json 配置文件

    {
        "auths": {
            "registry.cn-hangzhou.aliyuncs.com": {}
        },
        "credsStore": "wincred"
    }

    将以上配置的 "credsStore":"wincred" 去掉,这样在登陆后会将认证保存在此文件中,不然 docker-maven-plugin 获取不到认证信息,导致推送镜像失败

    3、在 PowerShell 或 CMD 中登陆 阿里云 docker registry

    在阿里云创建仓库后,点击管理可以看到操作指引,比如 登陆、推送、拉取等,登陆命令为:

    docker login --username=ali_account@company.com registry.cn-hangzhou.aliyuncs.com
    完了之后输入开通镜像仓库 namespace 时输入的密码,完成登陆,登陆之后 ~/.docker/config.json 类似
    {
        "auths": {
            "registry.cn-hangzhou.aliyuncs.com": {
                "auth": "ZG9ja2VyQDM2MGVkaW******UAxODU2ODMyNjA0MDgzODA5OkRIQDM2MGVkaWFuIzIwMTch"
            }
        }
    }

    其中 auth 就是保存的认证信息

    4、现在就可以使用maven命令进行打包推送了

    mvn clean package docker:push

    完成后可在阿里云中镜像仓库查看,可以在其他地方使用该镜像。

    com.spotify:docker-maven-plugin 常用操作有:
    
    docker:build 仅构建docker镜像(不推送)
    
    docker:push 推送镜像到远程仓库
  • 相关阅读:
    正则表达式实例:取得普陀区所有的小区名字和地址
    VS的注释(TODO)
    用本地地址构造出多个虚拟域名
    设置asp.net网站的信任等级
    c#中的多线程和异步处理
    VS2010下MVC4安装
    4、学习《细说PHP》笔记四
    38、UMLet的使用与类图的设计
    1、学习《细说PHP》笔记一
    6、学习《细说PHP》笔记六
  • 原文地址:https://www.cnblogs.com/xiaojf/p/14886359.html
Copyright © 2011-2022 走看看