Docker:在内网环境下推送镜像到 Harbor

0 阅读1分钟

由于在内网环境中,所以有时需要在自己搭建的Harbor仓库中添加一个新的镜像。

1. 在一台可以连接外网的机器上拉取一个镜像(以Node8.16版本的镜像为例)

执行命令:

docker pull node:8.16

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vHiXvfAm-1572276312689)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p256)]

这里直接从 docker hub 上拉取的.

查看目前已有镜像:

docker images 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cx0xo9aq-1572276312690)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p257)]

2. 将需要的镜像保存成一个.tar包

将node、tag为8.16 的镜像保存为:node8.16.tar: 执行命令:

docker save node:8.16 -o node8.16.tar

3. 将保存的.tar包上传到内网服务器上

mac/Linux中的执行命令:

scp -P port node8.16.tar user@ip:filepath;

port:服务器端的口号 user:服务器的用户名 ip:服务器IP filepath:上传到服务器的路径

4. 加载镜像

登录内网服务器,并切换到 node8.16.tar 所在的目录,加载镜像 执行命令:

docker load -i node8.16.tar

5. 修改镜像tag

执行命令:

docker tag imageId(镜像id) Repository:tag(仓库:标签)

这里 Harbor 仓库的地址为:129.226.54.31:5000

docker tag 52a261fa5e4b 129.226.54.31:5000/node:8.16

在这里插入图片描述

6. 将镜像推送到仓库:

执行命令:

docker push 10.101.0.9:5000/node:8.16

在这个过程中,可能需要登录 Harbor ,届时输入相应的用户名和密码即可。