使用maven插件构建docker镜像并推送到阿里镜像仓库

使用到的东西:

1、阿里云镜像仓库

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

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


    com.spotify
    docker-maven-plugin

3、window docker

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

 

具体配置:

1、maven docker-maven-plugin 插件


    com.spotify
    docker-maven-plugin

    
        docker-aliyun
        registry.cn-hangzhou.aliyuncs.com

        java:8
        ["java", "-jar", "/${project.build.finalName}.jar"]

        registry.cn-hangzhou.aliyuncs.com/company/image-name

        
            
                /
                ${project.build.directory}
                ${project.build.finalName}.jar
            
        
    

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

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

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

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

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

docker login [email protected] 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 推送镜像到远程仓库

 

 

转载于:https://my.oschina.net/u/260715/blog/1305294

你可能感兴趣的:(使用maven插件构建docker镜像并推送到阿里镜像仓库)