◉◡◉ 您好,欢迎到访伊成个人站!

idea远程编译代码推送到私服仓库

写在前面

如何使用idea远程编译代码并且推送到公司的私服仓库,具体参考下面的步骤。

操作步骤

步骤一: 在idea中 找到 File –> Settings –> Docker –> 选择+号 –> 选择TCP socket

输入对应的 ip:端口进行配置,完成配置后如果在界面中显示了 Connection successful 则说明配置成功了。

伊成博客

步骤二:在idea中对应你的项目里面选择 dockerfile:build

![](https://s3.bmp.ovh/imgs/2023/12/06/09cd9d97c6345aad.png)

步骤三:执行 dockerile:push 将本地镜像推送到远程私服。

就这么简单的三个步骤完成。

可能遇到的问题

执行docker build时java.io.FileNotFoundException: \.\pipe\docker_engine (系统找不到指定的文件。)

解决方法:

把步骤一中输入的 ip:端口 配置到环境变量里面,以及添加 docker host的环境变量。

windows推送私仓的报unauthorized to access repository的解决过程

解决方法:

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"HttpHeaders": {
"User-Agent": "Docker-Client/19.03.13 (windows)"
},
"auths": {
"harbor.hachi-tech.com(私仓地址)": {
"auth": "这里需要username:password并用base64加密",
"email": "harbor注册时的邮箱地址"
}
},
"credStore": "desktop",
"credsStore": "desktop",
"stackOrchestrator": "kubernetes"
}

username:password并用base64加密这个可以自行百度在线base64加密得到对应的字符串填充进来就可以了。

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


The end.

支付宝打赏 微信打赏