Docker私有仓库搭建

这篇具有很好参考价值的文章主要介绍了Docker私有仓库搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

registry私有仓库

步骤一:先拉取registry的镜像

[root@localhost ~]#docker pull registry

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

步骤二:修改docker的配置文件重启


[root@localhost ~]#vim /etc/docker/daemon.json
{
  "insecure-registries": ["192.168.66.66:5000"]
}
 
[root@localhost ~]#systemctl restart docker

docker 私有 库,docker,容器,运维

步骤三:基于registry镜像启动一个容器,可以设置为always重启策略


[root@localhost ~]#docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
 
-itd:在容器中打开一个伪终端进行交互操作,并在后台运行
-v:把宿主机的/data/registry目录绑定到容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化;
-p:映射端口;访问宿主机的5000端口就访问到registry容器的服务了
--restart=always:这是重启的策略,在容器退出时总是重启容器
--name registry:创建容器命名为registry
registry:latest:这个是刚才pull下来的镜像

docker 私有 库,docker,容器,运维

步骤四:修改想要上传的镜像的标签并上传验证

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

步骤五:修改另一台主机的docker配置文件重启,然后添加标签,然后上传

[root@localhost ~]#docker tag nginx:latest 192.168.66.66:5000/nginx:latest
 
[root@localhost ~]#vim /etc/docker/daemon.json
[root@localhost ~]#cat /etc/docker/daemon.json
{
  "insecure-registries": ["192.168.66.66:5000"]
}
[root@localhost ~]#systemctl restart docker
[root@localhost ~]#docker push 192.168.66.66:5000/nginx:latest

docker 私有 库,docker,容器,运维

浏览器验证


#列出私有仓库的所有镜像
curl http://192.168.66.66:5000/v2/_catalog
 
#查看私有仓库的 centos 镜像有哪些tag
curl http://192.168.66.66:5000/v2/nginx/tags/list

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

二.基于Docker--harbor私有仓库部署与管理

Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。

Harbor 的每个组件都是以 Docker 容器的形式构建的,使用 docker-compose 来对它进行部署。用于部署 Harbor 的 docker-compose 模板位于 harbor/docker-compose.yml。

(2)Harbor的特性
1、基于角色控制:用户和仓库都是基于项目进行组织的,而用户在项目中可以拥有不同的权限。
2、基于镜像的复制策略:镜像可以在多个Harbor实例之间进行复制(同步)。
3、支持 LDAP/AD:Harbor 可以集成企业内部已有的 AD/LDAP(类似数据库的一张表),用于对已经存在的用户认证和管理。
4、镜像删除和垃圾回收:镜像可以被删除,也可以回收镜像占用的空间。
5、图形化用户界面:用户可以通过浏览器来浏览,搜索镜像仓库以及对项目进行管理。
6、审计管理:所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
7、支持 RESTful API:RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。
8、Harbor和docker registry的关系:Harbor实质上是对docker registry做了封装,扩展了自己的业务模板。


(3)Harbor的构成
Harbor 在架构上主要有 Proxy、Registry、Core services、Database(Harbor-db)、Log collector(Harbor-log)、Job services 六个组件。

●Proxy: 是一个 nginx 的前端代理,Harbor 的 Registry、UI、Token 服务等组件,都处在 nginx 反向代理后边。 该代理将来自浏览器、docker clients 的请求转发到后端不同的服务上。

●Registry: 负责储存 Docker 镜像,并处理 Docker push/pull 命令。由于要对用户进行访问控制,即不同用户对 Docker 镜像 有不同的读写权限,Registry 会指向一个 Token 服务,强制用户的每次 Docker pull/push 请求都要携带一个合法的 Token, Registry 会通过公钥对 Token 进行解密验证。

●Core services: Harbor的核心功能,主要提供以下3个服务:
1)UI(harbor-ui): 提供图形化界面,帮助用户管理 Registry 上的镜像(image), 并对用户进行授权。
2)WebHook:为了及时获取Registry 上image 状态变化的情况,在Registry 上配置 Webhook,把状态变化传递给 UI 模块。
3)Token 服务:负责根据用户权限给每个 Docker push/pull 命令签发 Token。Docker 客户端向 Registry 服务发起的请求, 如果不包含 Token,会被重定向到 Token 服务,获得 Token 后再重新向 Registry 进行请求。

●Database(harbor-db):为core services提供数据库服务,负责储存用户权限、审计日志、Docker 镜像分组信息等数据。

●Job services: 主要用于镜像复制,本地镜像可以被同步到远程 Harbor 实例上。

●Log collector(harbor-log): 负责收集其他组件的日志到一个地方。


Harbor 的每个组件都是以 Docker 容器的形式构建的,因此,使用 Docker Compose 来对它进行部署。
总共分为7个容器运行,通过在docker-compose.yml所在目录中执行 docker-compose ps 命令来查看, 名称分别为:nginx、harbor-jobservice、harbor-ui、harbor-db、harbor-adminserver、registry、harbor-log。
其中 harbor-adminserver 主要是作为一个后端的配置数据管理,并没有太多的其他功能。harbor-ui 所要操作的所有数据都通过 harbor-adminserver 这样一个数据配置管理中心来完成。

Harbor 部署 

步骤一:先准备docker-compose编排工具,一般自带


[root@localhost ~]#find / -name docker-compose 
/usr/libexec/docker/cli-plugins/docker-compose
[root@localhost ~]#docker-compose -v
bash: docker-compose: 未找到命令...
[root@localhost ~]#cp /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/
[root@localhost ~]#docker-compose -v
Docker Compose version v2.24.1
 
 
也可以从网上下载
部署 Docker-Compose 服务
//下载或者上传 Docker-Compose
curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
 
chmod +x /usr/local/bin/docker-compose
 
docker-compose -v

docker 私有 库,docker,容器,运维

步骤二:准备harbor的安装包,然后解压至安装目录中,并修改配置文件harbor.yml

[root@localhost opt]#ls
containerd  harbor-offline-installer-v1.10.18.tgz  rh
[root@localhost opt]#tar xf harbor-offline-installer-v1.10.18.tgz 
[root@localhost opt]#ls
containerd  harbor  harbor-offline-installer-v1.10.18.tgz  rh
[root@localhost opt]#mv harbor /usr/local/
[root@localhost opt]#cd !$
cd /usr/local/
[root@localhost local]#ls
bin  etc  games  harbor  include  lib  lib64  libexec  nginx  sbin  share  src
[root@localhost local]#cd harbor/
[root@localhost harbor]#ls
common.sh  harbor.v1.10.18.tar.gz  harbor.yml  install.sh  LICENSE  prepare
[root@localhost harbor]#vim harbor.yml
 
 
也可以从网上github去下载harbor的包
部署 Harbor 服务
####下载或上传 Harbor 安装程序
Harbor的压缩包下载地址:https://github.com/goharbor/harbor/releases
 
wget http://harbor.orientsoft.cn/harbor-1.2.2/harbor-offline-installer-v1.2.2.tgz
 
tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

修改harbor安装的配置文件
vim /usr/local/harbor/harbor.cfg
--5行--修改,设置为Harbor服务器的IP地址或者域名
hostname = 192.168.66.66
--59行--指定管理员的初始密码,默认的用户名/密码是admin/Harbor12345
harbor_admin_password = Harbor12345

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

步骤三:进入harbor安装目录,先用./prepare 准备编排文件,然后用./install.sh启动,最后使用docker-compose  ps进行查看

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

步骤四:进入浏览器http://192.168.66.66进入harbor的客户端

浏览器访问:http://192.168.66.66登录 Harbor WEB UI 界面,默认的管理员用户名和密码是 admin/Harbor12345

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

上传成功

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维

docker 私有 库,docker,容器,运维文章来源地址https://www.toymoban.com/news/detail-835849.html

到了这里,关于Docker私有仓库搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 搭建Docker私有仓库

    目录 背景介绍 学习目的 学习准备 搭建过程 Docker registry是存储Docker image的仓库 ,运行push、pull、 search 时,是通过Docker daemon与docker registry通信。 Docker Hub(Docker埠,内有大量存储库或叫仓库)是Docker提供的一项服务,用于查找和与您的团队共享容器镜像。它是世界上最大的容

    2024年02月12日
    浏览(36)
  • Docker私有仓库搭建

    Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。 Harbor 的每个组件都是以 Docker 容器的形式构建的,使用 docker-compose 来对它进行部署

    2024年02月22日
    浏览(37)
  • Docker 搭建本地私有仓库

    有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似。 使用私有仓库有许多优点: Docker 官方提供了一个搭建私有仓库的镜像 registry (注册服务器),只需把镜像下载下来,运行容器并暴露5000端口

    2024年02月16日
    浏览(39)
  • docker本地私有仓库搭建

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 和Maven的管理一样,docker不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库。使用docker私有仓库有许多优点: 一、节省网络宽带,针对于每个镜像,不需要每个人都去中央仓库上面

    2024年02月08日
    浏览(36)
  • docker搭建本地私有仓库

    有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似。 使用私有仓库有许多优点: Docker 官方提供了一个搭建私有仓库的镜像 registry (注册服务器),只需把镜像下载下来,运行容器并暴露5000端口

    2024年02月16日
    浏览(38)
  • docker搭建私有仓库

    在公司里面,自己的项目在打包成镜像时,可能需要将镜像共享给其它同事使用,如果使用公有仓库共享可能会不安全,且拉取镜像时受网络带宽影响,拉取镜像时会很慢。为解决这些问题,用户可以使用docker官方提供的registry来搭建本地私有仓库。 registry是一种无状态,高

    2024年02月03日
    浏览(37)
  • Docker搭建私有镜像仓库

    镜像仓库(Docker Registry)有公共的和私有的两种形式: 公共仓库 :例如Docker官方的Docker Hub,国内也有一些云服务商提供类似于Docker Hub的公开服务,比如网易云镜像服务、DaoCloud镜像服务、阿里云镜像服务等。 除了使用公开仓库外,用户还可以在本地搭建 私有Docker Registry 。企业

    2023年04月16日
    浏览(57)
  • Docker-搭建私有镜像仓库

      镜像仓库(Docker Registry)有公共的和私有的两种形式:    公共仓库 :例如Docker官方的Docker Hub,国内也有一些云服务商提供类似于Docker Hub的公开服务,比如网易云镜像服务、DaoCloud镜像服务、阿里云镜像服务等。   用户在本地搭建 私有Docker Registry 。   因为企业中的

    2024年02月19日
    浏览(48)
  • docker私有镜像仓库搭建

    使用5000端口,需要打开服务器的该端口号 保存后重启docker,否则不生效 以上完成私有仓库配置,检查是否能成功登录 展示 原因是使用的registry镜像版本是不固定的【latest】引起的, 所以在执行的时候,下载的registry镜像文件要固定到某一具体版本,例如:registry:2.7.0

    2024年02月12日
    浏览(49)
  • nexus搭建私有docker仓库

    Nexus之前已支持了maven/npm/composer,由于docker仓库和前面几个存在比较大的差异,所以我特此记录下走过的坑。希望能对后来者有所帮助~~(当然,docker私有仓库,大多数是推荐使用harbor,因为我这里的某些历史原因,就沿用nexus) 依次建立代理仓库、私有仓库、组合仓库。 需

    2024年02月12日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包