您的位置:首页 > 新闻 > 会展 > Windows本地构建镜像推送远程仓库

Windows本地构建镜像推送远程仓库

2024/10/10 19:19:32 来源:https://blog.csdn.net/Soujer/article/details/140802348  浏览:    关键词:Windows本地构建镜像推送远程仓库

在这里插入图片描述

下载 Docker Desktop

https://smartidedl.blob.core.chinacloudapi.cn/docker/20210926/Docker-win.exe
使用本地docker构建镜像和推送至远程仓库(harbor)

1、开启docker的2375端口

2、配置远程仓库push镜像可以通过http

harbor.soujer.com:5000

在这里插入图片描述

ps:可添加data-root指定docker,镜像存储和使用的目录

3、环境变量指定成本地的2375端口

ps:无特殊情况改配置以后不需要修改

DOCKER_HOST tcp://127.0.0.1:2375

4、指定远程仓库

ps:打包时推到哪个项目仓库,通过hosts的 harbor.soujer.com 来指定即可

到此即可推送镜像到远程仓库(对应项目仓库)
ps:需确认本地可以访问对应远程仓库ip,ping或者浏览器可以打开即可
注意:需要修改程序中harbor推送目录

5、推送远程仓库

1)批处理打包方式

使用本地项目中bat文件进行打包、推送操作

@echo off
set THREAD=1C
REM 如果jdk不是1.8,就要改为自己的jdk1.8的路径
set JAVA_HOME=%JAVA_HOME%echo mvn clean package......
start /B /WAIT cmd /c "mvn clean package -T %THREAD% -D maven.test.skip=true -P company-repo,nexus,dev -q -f pom.xml"
rem 如果cmd执行失败,则后续的命令不会执行。
if %ERRORLEVEL% neq 0 (echo Error: mvn clean package failed.exit /b %ERRORLEVEL%
)
echo mvn dockerfile:build......
start /B /WAIT cmd /c "cd ./soujer-start && mvn dockerfile:build -T %THREAD% -q -f pom.xml"
if %ERRORLEVEL% neq 0 (echo Error: mvn dockerfile:build failed.exit /b %ERRORLEVEL%
)echo mvn dockerfile:push ......
start /B /WAIT cmd /c "cd ./soujer-start && mvn dockerfile:push -q -f pom.xml"
if %ERRORLEVEL% neq 0 (echo Error: mvn dockerfile:push failed.exit /b %ERRORLEVEL%
)echo all operations successful!!!exit

2)本地方式

使用PowerShell终端docker命令推送,需要docker登录harbor仓库

docker login http://harbor.soujer.com:5000
输入用户
输入密码

推送至仓库

docker push harbor.soujer.com:5000/[项目名称]/soujer-start:[tag]

【项目名称】配置harbor仓库项目,如:soujer
【tag】构建镜像时配置的tag号,或者在本地触发构建时查看

如上图,命令触发push

docker push harbor.soujer.com:5000/soujer/soujer-start:1.1.55-BASE

推送成功后可在harbor仓库查看确认是否成功即可

6、问题

出现如下问题:

unauthorized: unauthorized to access repository: soujer/soujer-start-stand, action: push: unauthorized to access repository: soujer/soujer-start-stand, action: push

先清除本地的docker登录验证
docker logout harbor.soujer.com:5000

找到本地电脑 C:\Users\用户名\.docker

删除config文件中的auths中的所有内容,然后重启docker或者关闭docker服务再开启试试(最保险的方式重启电脑)

出现这个问题

下载这个解决:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
出现下面的问题:

解决方案:
cmd/shell下执行

netsh winsock reset

然后重启docker就好了

本文作者

Soujer

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com