0


Docker 搭建私人仓库

docker 搭建私人仓库有下面几种方式:

  • 1、docker hub 官方私人镜像仓库
  • 2、本地私有仓库

官方私人镜像仓库搭建很简单(就是需要有魔法,否则就异步到第二种方法吧),只需要 login、pull、tag、push 几种命令就完事了。而本地私人镜像仓库则比较麻烦一点而且只能存储在本地不能公开。

下面我们就来简单的介绍一下怎么搭建自己的私人仓库吧!

官方镜像仓库

首先,我们需要在 docker hub 这里申请注册一个账号并登录,同时也要在 Docker Desktop 中进行登录。完成登录以后,我们首先在命令行中使用命令进行登录

docker login

出现 Login Succeeded 就代表登录成功了!
在这里插入图片描述

注:你的身份验证凭证将被存储在本地目录的 .dockercfg 文件中

接着我们查看一下本地镜像,可以看到这里有一个

nginx

,待会儿就拿这个进行测试吧!

docker images

在这里插入图片描述
首先对镜像打上

tag

,也就是重命名。

注:重命名格式需要 用户名/镜像名:版本号

docker tag nginx codegetters/nginx:1.0.0

在这里插入图片描述
检查一下看看是否成功打上了

tag

在这里插入图片描述

到了这里我们就完成了大部分的工作了,只需要

push

到自己的账号中就好了。

注:push 的镜像名要写全包括最后的版本号,否则就会失败

docker push codegetters/nginx:1.0.0

在这里插入图片描述
完成以后我们就可以删除本地镜像了,不过删除不是我们的重点就不过多展示了。我们接着进入 docker hub 并登录自己的账号。点击 Repositories 就可以看到我们的仓库中已经有了

nginx


在这里插入图片描述
到了这里我们就算完成了,如果想要从自己的仓库中拉下来就执行下面的命令即可

docker pull codegetters/nginx:1.0.0

本地私有仓库

为什么使用私用仓库?
公司的项目一般不予许我们上传到 Docker Hub 这类的公共仓库中,所有学会创建一个私有仓库也是非常必要的。虽然 hub.docker 上可以保存镜像,但是网速相对较慢,在内部环境中搭建一个私有的公共仓库是个更好的方案。

官方提供了 docker hub 来作为一个公开的集中仓库。然而,本地访问 Docker Hub 速度往往很慢,并且很多时候需要一个本地的私有仓库只供网内使用。

registry 就是管理 docker 镜像的服务。接下来的操作也是主要使用 registry 这个镜像进行,

首先我们先拉取

registry

镜像

docker pull registry

在这里插入图片描述
接着让

registry

跑起来并且将镜像的

/var/lib/registry

挂载到我们的本地

 E:\software_cache\docker

这个目录中,同时将本地的 5000 端口映射到镜像中。

docker run -d-p5000:5000 -v E:\software_cache\docker:/var/lib/registry --restart=always registry

在这里插入图片描述
运行成功后可以访问

ip:5000/v2

如果是下图的状态就算运行成功了。

在这里插入图片描述

访问

ip:5000/v2/_catalog

查看镜像仓库情况,这里的空数组表明还没有上传任何镜像
在这里插入图片描述

接下来我们打开 docker desktop 打开设置,将自己的

ip:5000

添加到下面的数组中(没有的话需要自己的添加)以此允许本地推送镜像,如果是

Linux

的话,则需要找到

/etc/docker/daemon.json

(没有需要自己创建)

  "insecure-registries": [
    "http://xxx.xxx.xxx.xxx:5000"
  ],

在这里插入图片描述

完成设置以后,我们就可以安按照上面的操作流程了。先对镜像打上 tag 并检查一下

注:重命名格式需要 用户名/镜像名:版本号

docker tag nginx xxx.xxx.xxx.xxx:5000/nginx:1.0.0

docker images

在这里插入图片描述
完成

tag

后就将镜像推送到我们的本地仓库了

注:push 的镜像名要写全包括最后的版本号,否则就会失败

docker push xxx.xxx.xxx.xxx:5000/nginx:1.0.0

在这里插入图片描述

这个时候我们访问刚才的页面,就显示了刚才推送的镜像-nginx
在这里插入图片描述
当然,我们也可以使用命令也可以进行查看是否成功推送

curl http://xxx.xxx.xxx.xxx:5000/v2/_catalog

在这里插入图片描述

也可以使用这个命令来访问本地仓库的

tag

列表

curl http://xxx.xxx.xxx.xxx:5000/v2/_catalog | python -m json.tool

在这里插入图片描述

我们来运行一下

registry

中的镜像看看是否运行能够运行成功。这里我是将本地的

80

端口映射到 nginx 中的

80

端口了

docker run -d-p80:80 --name nginx xxx.xxx.xxx.xxx:5000/nginx:1.0.0

在这里插入图片描述

我们访问一下本地

ip:80

出现了

nginx

页面就表明搭建成功了!
在这里插入图片描述

使用 Harbor 管理仓库

什么是 Harbor

harbor 是一个由 vm 公司开源的企业级容器镜像仓库,有以下功能:
管理用户界面
基于角色的访问控制
LDAP/AD 集成及日志审计等基本运维操作

Harbor的三种安装方式(这里我就选择 离线安装了):

  • 在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小
  • 离线安装:安装包包含部署的相关镜像,因此安装包比较大
  • OVA安装程序(第三方):当用户具有vCenter环境时,使用此安装程序,在部署 OVA后启动Harbor

前置准备:下载 Harbor online 安装包 中的 harbor-offline-installer-vx.x.x.tgz到本地进行解压缩,然后将

harbor.yml.tmpl

文件复制并重命名为

harbor.yml

,接着使用文本编辑器打开并修改

hostname

为本地 ip 地址。如果说你不使用

https

进行访问(一般都是内网使用),那就将相关的配置都给注释掉。只注释关于 https 的内容就好了,其他内容最好不要动。
在这里插入图片描述

然后打开命令行进入这个目录中,使用 docker 加载本地镜像

docker load -i harbor.v2.10.1.tar.gz

在这里插入图片描述
加载完成后我们检查一下已经成功加载了 Harbor 本地镜像了
在这里插入图片描述
使用

./prepare

预处理一些文件,初始化文件
在这里插入图片描述

接下来执行

install.sh

就正式开始安装了
在这里插入图片描述
如果出现 Harbor has been installed and started successfully 表示安装成功,我们查看一下 docker 进程

标签: docker java 容器

本文转载自: https://blog.csdn.net/fans_x/article/details/136903360
版权归原作者 画一个圆_ 所有, 如有侵权,请联系我们删除。

“Docker 搭建私人仓库”的评论:

还没有评论