docker 搭建私人仓库有下面几种方式:
- 1、docker hub 官方私人镜像仓库
- 2、本地私有仓库
下面我们就来简单的介绍一下怎么搭建自己的私人仓库吧!
官方镜像仓库
首先,我们需要在 docker hub 这里申请注册一个账号并登录,同时也要在 docker desktop 中进行登录。完成登录以后,我们首先在命令行中使用命令进行登录
docker login
出现 login succeeded 就代表登录成功了!

接着我们查看一下本地镜像,可以看到这里有一个 nginx,待会儿就拿这个进行测试吧!
docker images

首先对镜像打上 tag,也就是重命名。
docker tag nginx codegetters/nginx:1.0.0

检查一下看看是否成功打上了 tag

到了这里我们就完成了大部分的工作了,只需要 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 pull registry

接着让 registry 跑起来并且将镜像的 /var/lib/registry 挂载到我们的本地 e:\software_cache\docker 这个目录中,同时将本地的 5000 端口映射到镜像中。
docker run -d -p 5000: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 后就将镜像推送到我们的本地仓库了
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 -p 80:80 --name nginx xxx.xxx.xxx.xxx:5000/nginx:1.0.0

我们访问一下本地 ip:80 出现了 nginx 页面就表明搭建成功了!

使用 harbor 管理仓库
什么是 harbor?
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 进程
发表评论