Docker把公共镜像推送到harbor私服的流程(企业级)

如果构建项目时,使用了k8s + docker + Jenkins的模式。 那么我们在docker构建镜像时,如果需要使用了Nodejs,那么我们必须得从某个资源库中拉取需要的Nodejs。 在企业里,正常都会把自己项目涉及的库都放在harbor私服里。 下面讲一下,升级Nodejs库和Docker拉取库推送到私有库的操作流程。

(1)拉取和检查镜像

首先,我们需要到docker hub 公共镜像仓库中,寻找一个自己需要的镜像进行测试。我们找个例子,比如的Nodejsalpine版本镜像。
下面是docker hub的官网地址:

docker hub地址: https://registry.hub.docker.com/_/node/tags?page=1&name=16.13.2

复制一下镜像的拉取指令,并在本地服务器上执行。

Docker把公共镜像推送到harbor私服的流程(企业级)_第1张图片

docker pull node:16.13.2-alpine3.14

接下来查看docker镜像是否拉取下来,并且进入镜像的里,执行shell指令,看是否正常。

查看关于node的镜像的指令
docker images|grep node

进入目标镜像shell终端的指令
docker un -it --rm node:16.13.2-alpine3.14 /bin/sh

进入之后执行一些简单的shell指令,同时也可以检查镜像内部的一些信息。如果都正常,我们的镜像就可以使用啦。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2j7CIBwJ-1689156963499)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0111217b584b440fa2fb0e9e168239c0~tplv-k3u1fbpfcp-watermark.image?)]

(2)推送到harbor私服

下面再结合上面的镜像,跟harbor私有镜像仓库和docker hub公有镜像仓库结合创建。下面是涉及到的一些官方地址:

harbor官方地址: https://goharbor.io/
harbor测试私有仓库地址: https://demo.goharbor.io/
docker hub 地址: https://registry.hub.docker.com/_/node/tags

我们已经通过docker pull的指令把Nodejs公有镜像拉到本地服务器上了。那么现在我们需要给拉下来的镜像打上标签。打标签的指令如下:

docker tag 本地镜像 地址[:端口号]/仓库名[:标签]
docker tag node:16.13.2-alpine3.15 demo.goharbor.io/your-project/node:16.13.2-alpine3.15

打完标签之后,需要登录harbor, 并把镜像推送到harbor私服上。

docker login demo.goharbor.io

docker push demo.goharbor.io/your-project/node:16.13.2-alpine3.15

执行上面的指令之后,推送到私服的流程就完毕啦。我们也可以在web端登录harbor,查看是否推送到私服上啦。

你可能感兴趣的:(docker,harbor)