当前位置: 首页 > news >正文

搭建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-(uname−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仓库查看已经推送过来
在这里插入图片描述

http://www.lryc.cn/news/38520.html

相关文章:

  • [NOIP2009 提高组] 最优贸易(C++,tarjan,topo,DP)
  • 计算机网络:移动IP
  • binutils工具集——GNU binutils工具集简介
  • Golang编译选项(ldflags)有趣应用
  • AIR32F103(十一) 在AIR32F103上移植微雪墨水屏驱动
  • Uipath Excel 自动化基础系列文章
  • 神经网络优化器之随机梯度下降法的理解
  • 记录一次WIN11开机在登录页面循环的问题
  • 始终从最不易改变的方面开始
  • 4、Httpclient源码解析之HTTP协议
  • 浏览器并发行为记录
  • 工厂模式与抽象工厂
  • 什么?你不知道 ConcurrentHashMap 的 kv 不能为 null?
  • SQL复习04 | 复杂查询
  • 【面试题】Java面试题汇总(无解答)
  • C++---背包模型---收服精灵(每日一道算法2023.3.11)
  • day30_JS
  • 【Java学习笔记】19.Java 正则表达式(2)
  • 华为云arm架构轻松安装kubeedge
  • 33--Vue-前端开发-使用Vue脚手架快速搭建项目
  • TMS WEB Core开发Web应用优势说明
  • 人工智能简单应用1-OCR分栏识别:两栏识别三栏识别都可以,本地部署完美拼接
  • Gin框架路由拆分与注册详解析
  • 2020蓝桥杯真题凯撒加密 C语言/C++
  • taro+vue3小程序使用v-html渲染的内容为class写了样式无效
  • MASK-RCNN网络介绍
  • 导航技术调研(CSDN_0023_20221217)
  • 买卖股票的最佳时机 I II III IV
  • STM32—LCD1602
  • 英雄算法学习路线