仓库的概念也就是用于存储,docker仓库用于存储镜像。

镜像构建完成后,很容易可以在宿主机上运行,但是如果要在其他服务器上运行,则需要考虑镜像的分发,存储的问题。

共有/私有/仓库

Docker Registry有两种形式

  • 公开,开放给所有用户,提供给所有用户搜索,拉取,提交,更新镜像,还免费保管用户镜像数据。

    • 此类服务受限于网络限制,无法及时立即获取所需镜像,简单说就是需要用什么得现下载,得看网速
    • 优点是可以获取绝大部分公开的镜像,方便使用
  • 私有范围的Registry服务,用在学校,企业内网的研发环境
    • 局域网环境,保证了镜像拉取速度
    • 保证核心镜像数据安全
    • 存在镜像不丰富问题

公开服务仓库

最常见的Registry是Docker Hub,也是docker默认允许用户管理镜像的Registry服务,拥有大量高质量的官方镜像。

由于网络地域原因,公开服务在国内访问较慢,也就出现了针对镜像服务的加速器。

使用加速器,可以从国内的地址获取Docker Hub的镜像,速度会快很多。

私有服务仓库

除了私用公开服务外,还可以在自己本地搭建私有Docker Registry。

开源的Docker Registry镜像只提供了Docker Registry API的功能,没有图形化功能。

1.部署docker-harbor

步骤

1. 安装docker-compose工具
2. 下载harbor安装包
3. 修改harbor配置
4. 自动化安装

安装docker-compose

yum install docker-compose -y

[root@docker-200 /www.yuchaoit.cn/test_dockerfile/tomcat_web/web_base]#docker-compose version
docker-compose version 1.18.0, build 8dd22a9
docker-py version: 2.6.1
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.0.2k-fips 26 Jan 2017

上传harbor安装包

[root@docker-200 /www.yuchaoit.cn]#ll
total 633852
-rw-r--r-- 1 root root 32749651 Aug 25 05:02 all-game.tgz
-rw-r--r-- 1 root root 616312579 Aug 27 20:03 harbor-offline-installer-v1.9.0-rc1.tgz
drwxr-xr-x 6 root root 114 Aug 23 00:08 jd
drwxr-xr-x 5 root root 59 Aug 27 20:03 test_dockerfile
drwxr-xr-x 3 root root 98 Aug 22 23:40 xiaoniao
drwxr-xr-x 7 root root 153 Aug 23 20:42 yunpan 解压
[root@docker-200 /www.yuchaoit.cn]#ls
all-game.tgz harbor harbor-offline-installer-v1.9.0-rc1.tgz jd test_dockerfile xiaoniao yunpan
[root@docker-200 /www.yuchaoit.cn]#cd harbor/
[root@docker-200 /www.yuchaoit.cn/harbor]#
[root@docker-200 /www.yuchaoit.cn/harbor]#ls
harbor.v1.9.0.tar.gz harbor.yml install.sh LICENSE prepare
[root@docker-200 /www.yuchaoit.cn/harbor]# 修改harbor.yaml配置文件
[root@docker-200 /www.yuchaoit.cn/harbor]#grep -E '10.0.0.200|yuchao' harbor.yml
hostname: 10.0.0.200
harbor_admin_password: www.yuchaoit.cn # 安装,一键自动化安装的过程
[root@docker-200 /www.yuchaoit.cn/harbor]#./install.sh [Step 0]: checking installation environment ... Note: docker version: 20.10.17 Note: docker-compose version: 1.18.0 [Step 1]: loading Harbor images ... # 安装结果 ----Harbor has been installed and started successfully.---- Now you should be able to visit the admin portal at http://10.0.0.200.
For more details, please visit https://github.com/goharbor/harbor . [root@docker-200 /www.yuchaoit.cn/harbor]#

访问harbor

检查harbor进程

登录信息

admin
www.yuchaoit.cn

创建项目

修改docker配置,信任自建仓库

[root@docker-200 /www.yuchaoit.cn/harbor]#cat  /etc/docker/daemon.json
{
"registry-mirrors" : [
"https://ms9glx6x.mirror.aliyuncs.com"
],
"insecure-registries":["http://10.0.0.200"]
}
[root@docker-200 /www.yuchaoit.cn/harbor]#
[root@docker-200 /www.yuchaoit.cn/harbor]#
[root@docker-200 /www.yuchaoit.cn/harbor]#systemctl daemon-reload
[root@docker-200 /www.yuchaoit.cn/harbor]#
[root@docker-200 /www.yuchaoit.cn/harbor]#systemctl restart docker
[root@docker-200 /www.yuchaoit.cn/harbor]#

推送本地镜像(修改镜像tag)

镜像要推送到仓库,名字上有要求
harbor地址/项目名/镜像名:版本 [root@docker-200 /www.yuchaoit.cn/harbor]#docker tag nginx:1.17.9 10.0.0.200/my_harbor01/nginx:1.17.9
[root@docker-200 /www.yuchaoit.cn/harbor]#docker images |grep nginx
centos7_nginx 1.20.1 f20ce96eb5be 22 hours ago 262MB
10.0.0.200/my_harbor01/nginx 1.17.9 5a8dfb2ca731 2 years ago 127MB
nginx 1.17.9 5a8dfb2ca731 2 years ago 127MB
goharbor/nginx-photon v1.9.0 492e9528214c 2 years ago 43.2MB
[root@docker-200 /www.yuchaoit.cn/harbor]# 登录harbor
[root@docker-200 /www.yuchaoit.cn/harbor]#
[root@docker-200 /www.yuchaoit.cn/harbor]#docker login 10.0.0.200
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded
[root@docker-200 /www.yuchaoit.cn/harbor]# 推送镜像,docker自动根据名字,知道往哪推送
[root@docker-200 /www.yuchaoit.cn/harbor]#docker push 10.0.0.200/my_harbor01/nginx:1.17.9
The push refers to repository [10.0.0.200/my_harbor01/nginx]
351816b95c49: Pushed
0e07021aa61a: Pushed
b60e5c3bcef2: Pushed
1.17.9: digest: sha256:30d9dde0c4cb5ab4989a92bc2c235b995dfa88ff86c09232f309b6ad27f1c7cd size: 948
[root@docker-200 /www.yuchaoit.cn/harbor]#

检查harbor镜像

下载harbor镜像

其他机器即可使用该镜像地址,获取私有镜像仓库内容

docker pull 10.0.0.200/my_harbor01/nginx:1.17.9

停止harbor

[root@docker-200 /www.yuchaoit.cn/harbor]#docker-compose stop
Stopping nginx ... done
Stopping harbor-jobservice ... done
Stopping harbor-core ... done
Stopping redis ... done
Stopping registryctl ... done
Stopping harbor-portal ... done
Stopping registry ... done
Stopping harbor-db ... done
Stopping harbor-log ... done
[root@docker-200 /www.yuchaoit.cn/harbor]#

还有一个docker registry私有仓库

纯API形式的私有仓库,不做讲解了,比较简单

1.获取registry镜像,加上参数,确保每次重启
docker run -d \
--name chaoge_registry \
--restart=always \
-p 5000:5000 \
-v /opt/data/registry:/var/lib/registry \
registry

还有一个docker hub

可以自行注册账号,玩一玩公开仓库。

企业级私有仓库Harbor的更多相关文章

  1. Kubernetes-5:搭建企业级私有仓库Harbor

    搭建企业级私有仓库Harbor 安装需求 python版本 >= 2.7 Docker引擎版本 >= 1.10 docker-compose版本 >= 1.6.0 安装环境 一.Py ...

  2. Docker:企业级私有仓库harbor[十六]

    一.安装配置 1.下载安装包 链接:https://pan.baidu.com/s/1Z9I7zYXSt-8ve3lFT2YCeg 提取码:iuqj 2.安装docker和docker-compose ...

  3. 企业级镜像仓库harbor搭建

    企业级镜像仓库harbor搭建 一.    Harbor概述 VMware公司最近开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服 ...

  4. Docker: 企业级镜像仓库Harbor的使用

    上一节,演示了Harbor的安装部署 这次我们来讲解 Harbor的使用. 我们需要了解到: 1. 如何推镜像到镜像仓库 2. 如何从镜像仓库拉取镜像 3. 如何运行从私有仓库拉取的镜像 # 查看 h ...

  5. 菜鸟系列docker——搭建私有仓库harbor(6)

    docker 搭建私有仓库harbor 1. 准备条件 安装docker sudo yum update sudo yum install -y yum-utils device-mapper-per ...

  6. Kubernets二进制安装(5)之私有仓库harbor搭建

    在IP地址为192.168.80.50,机器名为mfyxw50上搭建私有仓库harbor harbor下载地址: harbor下载连接地址:https://github.com/goharbor/ha ...

  7. 企业级镜像仓库 harbor

    企业级镜像仓库 harbor 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器 c. 上一篇:跨 Docker 宿主机网络 overlay 类型 h ...

  8. docker进阶-搭建私有企业级镜像仓库Harbor

    为什么要搭建私有镜像仓库   对于一个刚刚接触Docker的人来说,官方的Docker hub是用于管理公共镜像.既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像.我们 ...

  9. 企业级Docker私有仓库Harbor

    一.Harbor简介 1.Harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Docke ...

  10. 企业级镜像仓库Harbor

    介绍: Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面, ...

随机推荐

  1. E百科 | 第2期 扒一扒能加速互联网的QUIC协议

    简介: 众所周知,QUIC(Quick UDP Internet Connection)是谷歌制定的一种互联网传输层协议,它基于UDP传输层协议,同时兼具TCP.TLS.HTTP/2等协议的可靠性与安 ...

  2. Dubbo-Admin 正式支持 3.0 服务治理

    ​简介:Dubbo 相信大家并不陌生,是一款微服务开发框架,它提供了 RPC 通信与微服务治理两大关键能力.大家在日常开发中更多使用的是 Dubbo 提供的 RPC 通信这一部分能力,而对其提供的服务 ...

  3. [Py] Jupyter 写入和执行 python 文件

    以 %%writefile request.py 开头. 下面写 python 代码,然后 shift + enter 键,可以把 python 代码写入开头指定的文件中,没有则自动创建. 以 %ru ...

  4. 2019-8-31-C#-获取进程退出代码

    title author date CreateTime categories C# 获取进程退出代码 lindexi 2019-08-31 16:55:58 +0800 2019-02-13 09: ...

  5. RT-Thread 运行时常见错误

    一.空线程栈较小 现象: 现象一: 现象二: 原因: 从RT-Thread文章中心可知,空闲线程是不能被挂起的,官方文档说明如下图所示: 注意:必须保证空闲线程的栈空间足够,否则空闲线程内存溢出后,也 ...

  6. STM32中的看门狗

    先复制一段度娘的东西: 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个 ...

  7. JUC并发编程学习笔记(十九)原子引用

    原子引用 带版本号的原子操作! 解决ABA问题,引入原子引用(乐观锁思想) AtomicStampedReference类解决ABA问题 package org.example.cas; import ...

  8. gorm使用小结

    增 db.Create(user) db.Save(user) 参数只能用**结构体指针****,因为要根据指针写入该条插入的数据, 所以user可以作为该条数据使用. 新增只能用结构体 save方法 ...

  9. su与sudo用法详解

    su与sudo用法详解 目录 su与sudo用法详解 1. su和sudo详解:切换用户身份 1.1 shell登录类型和环境配置文件 1.2 su进行身份切换 1.3 sudo命令详解 1.3.1 ...

  10. lca总结+树上差分

    lca lca简称最近公共祖先--简介在此,不过多赘述 这里主要写的是倍增算法,oi-wiki上用的是vector,由于本人不会,只会用链表,所以这里就放链表的代码了 例题 加一个数组按倍增数组的方式 ...