搭建Docker企业私有仓库

写在前面

本篇文章主要介绍了docker的仓库,如何搭建私有仓库以及镜像推送到仓库上的流程,可以对仓库惊喜那个管理知识有个大体的框架


什么是仓库

仓库(Repository)是存储和分发 Docker 镜像的地方。镜像仓库类似于代码仓库,Docker Hub 的命名来自 GitHub,Github 是我们常用的代码存储和分发的地方。同样 Docker Hub 是用来提供 Docker 镜像存储和分发的地方。
谈到镜像仓库,有两个需要区分的概念

  • 注册服务器 docker.hub
  • 仓库(具体的项目,类似目录,目录可以同时管理多个镜像) --jenkins/jenkins

Docker 镜像发布到公共仓库步骤

  1. 注册 Docker Hub 账号 (https://hub.docker.com)
  2. 创建仓库,新建一个仓库用于推送镜像。

创建仓库的时候右边会有上传到仓库的相关命令的提示,可以参考记录一下
在这里插入图片描述

  1. 本地docker login
  2. 本地docker tag

给本地镜像打个tag标签。标记本地镜像,将其归入某一仓库。
相当于重新复制镜像并重命名为docker账户名/仓库名称。这个命令其实就是在我们前面创建仓库的时候给的提示的代码。

  1. docker push

用registry搭建私有化镜像仓库

1.运行registry容器

启动命令:
docker run -v /var/lib/registry/data:/var/lib/registry -d -p 5000:5000 --name registry registry:2.7
意味着本地访问通过 http://120.25.253.110:5000

  1. docker tag

示例
docker tag hello-world:latest 120.25.253.110:5000/hello_world

  1. docker push

docker push 120.25.253.110:5000/hello_world
在这里插入图片描述

用Harbor搭建私有化镜像仓库

  1. 下载安装包,wget https://github.com/goharbor/harbor/releases/download/v2.1.4/harbor-online-installer-v2.1.4.tgz
  2. 解压,tar -zxvf harbor-online-installer-v2.1.4.tgz
  3. docker compose 安装

Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。
运行以下命令以下载 Docker Compose 的当前稳定版本:
$ sudo curl -L “https://github.com/docker/compose/releases/download/1.24.1/docker-compose- ( u n a m e − s ) − (uname -s)- (unames)(uname -m)” -o /usr/local/bin/docker-compose
要安装其他版本的 Compose,请替换 1.24.1。
将可执行权限应用于二进制文件:
$ sudo chmod +x /usr/local/bin/docker-compose
创建软链:
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
测试是否安装成功:
$ docker-compose --version
cker-compose version 1.24.1, build 4667896b

  1. 改配置,修改harbor.yml.tmpl文件名,改为harbor.yml,vi harbor.ym 更改host 和ssl 等
  • 域名相关
    如果遇到报错:ERROR:root:Please specify hostname, 那原因是启动harbor时没有修改harbor.yml里的内容。
    解决办法
    把配置文件中默认的hostname: reg.mydomain.com, 改为本地的ip。
    比如: hostname:10.6.119.106
  • 认证证书相关
    如果遇到报错:ERROR:root:Error: The protocol is https but attribute ssl_cert is not set。 原因是harbor.yml中默认是配置https的端口及证书路径的。
    解决办法
    是把这些配置都注释掉。
    #https related config
    #https: # 注释掉
    ##https port for harbor, default is 443
    #port: 443 # 注释掉
    ##The path of cert and key files for nginx
    #certificate: /your/certificate/path # 注释掉
    #private_key: /your/private/key/path # 注释掉
  1. 执行.prepare命令,更新配置文件
  2. 启动Harbor,当修改完配置文件后,执行./install.sh
  3. 登录&使用

初始的默认用户是admin,密码是Harbor12345,登录成功:
在这里插入图片描述

推送镜像到harbor上

  1. 登录Harbor仓库:
docker login 120.25.253.110

可能遇到错误
在这里插入图片描述
可以修改本机Host的/etc/docker/daemon.json,如果没有这个文件,就创建它,并在里面"insecure-registries"的值追加"120.25.253.110",文件内容如下List-3.1所示,最重要的是"insecure-registries":[“120.25.253.110”],不然我们login或者推送镜像到120.25.253.110上时会报错。

{“bip”: “172.172.172.1/24”,“insecure-registries”: [“10.221.128.52”,“120.25.253.110”]}

  1. 标记要推送的镜像:
docker tag nginx:latest 120.25.253.110/dapengtest/nginx:1.0

如下图根据harbor的项目推送提示,标记本地镜像
在这里插入图片描述
在这里插入图片描述
3. 推送标记的镜像:

docker push  120.25.253.110/dapengtest/nginx:1.0

在这里插入图片描述
harbor仓库查看已经推送过来
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值