首页 > 其他分享 >docker仓库(hub、registry和harbor)

docker仓库(hub、registry和harbor)

时间:2023-12-05 10:46:55浏览次数:40  
标签:harbor 仓库 registry 镜像 docker Docker

1、docker仓库介绍

Docker仓库是用来包含镜像的位置,Docker提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。
Docker运行中使用的默认仓库是 Docker Hub 公共仓库

2、docker公有仓库和私有仓库的区别

公有仓库:Docker官方提供一个公共仓库,称为Docker Hub。任何人都可以在Docker Hub上创建帐户,并在其中存储和共享Docker镜像。
私有仓库:私有仓库是指由用户自己搭建、管理和维护的Docker仓库,可以自己选择存储位置和数据安全性,也可以和其他项目无缝集成。

3、docker hub

3.1.docker hub介绍

docker hub是docker公司维护的公共仓库,用户可以免费使用,也可以购买私有仓库。
image

3.2.docker hub公共仓库使用

docker hub官网

1.首先在https://cloud.docker.com/网站注册一个账号

2.在docker hub上新建一个公共仓库

3.登录docker hub
docker login

4.上传镜像
docker images
docker tag kaminskypavel/mario:latest lyueyue/mario:latest
docker push lyueyue/mario:latest

5.在浏览器上查看

3.2.1.docker仓库 首先注册一个账号

image
image

3.2.2.创建一个公共仓库

image
image
image
image

4、私有仓库搭建(registry)

4.1.为什么需要搭建私有仓库

registry部署官网

  • docker hub虽然方便,但是还是有限制
    (1)需要internet连接,速度慢
    (2)所有人都可以访问
    (3)由于安全原因企业不允许将镜像放到外网
  • 好消息是docker公司已经将registry开源,我们可以快速构建企业私有仓库。

4.2.私有仓库部署

1.下载registry镜像
docker pull registry

2.运行registry容器
docker run -d --name registry -p 5000:5000 -v /opt/registry:/var/lib/registry registry

3.给镜像打标签(本地镜像在命名时需要加上仓库的ip和端口)
docker tag nginx:latest localhost:5000/nginx:latest

4.上传镜像至私有仓库
docker push localhost:5000/nginx:latest

5.测试
cd /opt/registry
ls
curl localhost:5000/v2/_catalog

5、harbor仓库

5.1.harbor仓库介绍

  • Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
  • harbor使用Docker-compose快速部署
    补充:为什么有了registry还需要harbor?
    1、提供分层传输机制,优化网络传输
    Docker镜像是是分层的,而如果每次传输都使用全量文件(所以用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定传输的对象。
    2、提供WEB界面,优化用户体验
    只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界面可以支持登陆、搜索功能,包括区分公有、私有镜像。
    3、支持水平扩展集群
    当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分解。

5.2.harbor仓库部署(基础)

habor下载地址

首先清理环境
docker rm -f registry 
cd .docker/
rm -fr config.json
1.解压harbor包
tar zxf harbor-offline-installer-v1.10.1.tgz 

2.修改habor配置文件
cd harbor
vim harbor.yml

3.安装docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.27.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

4.安装habor
./install.sh  --help
./install.sh 
--with-notary                      #签名模块
--with-clair                       #扫描模块
--with-chartmuseum                 #K8S中用于软件包管理 
./install.sh --with-clair --with-notary --with-chartmuseum

4.查看安装情况
docker-compose ps

5.本地登录
docker login www.lyueyue.org

6.在本机测试
docker images
docker tag nginx:latest www.lyueyue.org/library/nginx:latest
docker push www.lyueyue.org/library/nginx:latest

7.配置别的虚拟机,并测试
scp /root/certs/www.lyueyue.org.crt server2:/etc/docker/certs.d/www.lyueyue.org/ca.crt
scp /root/certs/www.lyueyue.org.crt server3:/etc/docker/certs.d/www.lyueyue.org/ca.crt
ssh server2 systemctl restart docker
ssh server3 systemctl restart docker

标签:harbor,仓库,registry,镜像,docker,Docker
From: https://www.cnblogs.com/xianfengzhike/p/17876663.html

相关文章

  • Run sql server in docker
    PulldockerimagePullthelatestimageofSQLServer2022dockerpullmcr.microsoft.com/mssql/server:2022-latestRunincontainerdockerrun-e"ACCEPT_EULA=Y"-e"MSSQL_SA_PASSWORD=<password>"-p11433:1433--name<sqlser......
  • Docker CLI docker restart 常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中......
  • Docker CLI docker rename 常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中......
  • Docker部署lsky-pro
    一、简介LskyPro是一个用于在线上传、管理图片的图床程序,中文名:兰空图床,你可以将它作为自己的云上相册,亦可以当作你的写作贴图库。二、搭建lsky-pro绿联DX4600为例,首先我们打开Docker管理器,进入镜像管理,然后在镜像仓库中搜索halcyonazure/lsky-pro-docker​,选择latest......
  • docker 安装
    1.卸载历史版本。yumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-selinux\docker-engine-selinux\docker-engine\docker-ce2.安装所需软件包yuminstall-yyum-utils或......
  • centos7.9以docker形式安装redmine,并配置
    一、准备准备服务器联网,并且安装好docker二、安装redmine执行命令拉取docker镜像dockerpullredmine:latestRunRedminewithSQLite3dockerrun-d--nameredmine-p3000:3000redmine:latest启动后访问:http://localhost:3000/,默认账号/密码:admin/admin  进入后......
  • docker发布ASPNETCore项目 yum
    docker手动发布ASP.NETCore7一、环境准备环节1、准备Linux系统Linux系统-CentOS7---基于虚拟机来安装IP:192.168.1.972、安装docker环境2.1、卸载依赖包$sudoyumremovedocker\docker-client\docker-client-latest\......
  • docker compose 一键部署zookeeper集群
    compose.yml文件services:zoo1:image:zookeeper:3.8.3restart:alwayshostname:zoo1ports:-2181:2181environment:ZOO_MY_ID:1ZOO_SERVERS:server.1=0.0.0.0:2888:3888;2181server.2=zoo2:2888:3888;2181server.3=z......
  • docker container中变更timezone
    当前使用了playwright官方python镜像: https://playwright.dev/python/docs/docker但在实际使用时,时间总是显示为UTC0时间 正好相差8个小时,前面是jenkins打印时间,后面部分是container内部时间查了网上各种方法,总共有几种:1,直接加命令行:dockerrun-eTZ=Asia/Shanghai2......
  • centos7 docker-ce
    言Docker使用越来越多,安装也很简单,本次记录一下基本的步骤。Docker目前支持CentOS7及以后的版本,内核要求至少为3.10。Docker官网有安装步骤,本文只是记录一下,您也可以参考DockerCEInstallonCentOS环境说明CentOS7(MinimalInstall)$cat/etc/redhat-releaseCentOS......