装了windows的Docker desktop,建立了Harbor私仓,奇怪的是用命令行docker login后,pull和Push均正常。

但是用maven的dockerfile-maven-plugin插件push就会报unauthorized to access repository:action:push

证书也装了,依旧是这个问题,最终发现,在 c:\C:\Users\Your Name\.docker下的config.json中,有一个auths配置;

 

{
  "HttpHeaders": {
    "User-Agent": "Docker-Client/19.03.13 (windows)"
  },
  "auths": {
    "harbor.****.com(私仓地址)": {
      "auth": "这里需要username:password并用base64加密",
      "email": "harbor注册时的邮箱地址"
    }
  },
  "credStore": "desktop",
  "credsStore": "desktop",
  "stackOrchestrator": "kubernetes"
}

配置完毕 auths后,再mvn package,整个流程顺畅无比,不再报unauthorized to access repository错误了。

 

PS: 证书位置 C:\ProgramData\Docker\certs.d 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐