iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >docker私有仓库如何搭建
  • 302
分享到

docker私有仓库如何搭建

2023-06-04 14:06:13 302人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关Docker私有仓库如何搭建,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。docker-reGIStry的部署      &n

这篇文章将为大家详细讲解有关Docker私有仓库如何搭建,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

docker-reGIStry的部署    

    查看docker-registry版本信息:

[root@docker-registry ~]# yum info docker-registryLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirror.bit.edu.cn * extras: mirror.bit.edu.cn * updates: mirror.bit.edu.cnAvailable PackagesName        : docker-registryArch        : x86_64Version     : 0.9.1Release     : 7.el7Size        : 123 kRepo        : extras/7/x86_64Summary     : Registry server for DockerURL         : https://GitHub.com/docker/docker-registryLicense     : ASL 2.0Description : Registry server for Docker (hosting/delivering of repositories and images).

    安装docker-registry:

[root@docker-registry ~]# yum -y install docker-registry

    查看安装后docker-distribution的的配置文件位置

[root@docker-registry ~]# rpm -ql docker-distribution/etc/docker-distribution/registry/config.yml/usr/bin/registry/usr/lib/systemd/system/docker-distribution.service/usr/share/doc/docker-distribution-2.6.2/usr/share/doc/docker-distribution-2.6.2/AUTHORS/usr/share/doc/docker-distribution-2.6.2/CONTRIBUTING.md/usr/share/doc/docker-distribution-2.6.2/LICENSE/usr/share/doc/docker-distribution-2.6.2/MAINTAINERS/usr/share/doc/docker-distribution-2.6.2/README.md/var/lib/registry  #数据放在这个目录下,可以修改/etc/docker-distribution/registry/config.yml改这个路径

    查看配置文件:

[root@docker-registry ~]# cat /etc/docker-distribution/registry/config.ymlversion: 0.1log:  fields:    service: registrystorage:    cache:        layerinfo: inmemory    filesystem:        rootdirectory: /var/lib/registry  #镜像存储位置,可以修改成自己的Http:    addr: :5000  #监听端口为5000

    启动服务:

[root@docker-registry ~]# systemctl start docker-distribution[root@docker-registry ~]# systemctl enable docker-distributionCreated symlink from /etc/systemd/system/multi-user.target.wants/docker-distribution.service to /usr/lib/systemd/system/docker-distribution.service.

    这样我们就装好了docker-registry。

    下面我们测试,把node3机器上的镜像推到docker-registry机器上。

[root@k8s-node3 ~]# docker imagesREPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZEmysql                                         5.7.22              6bb891430fb6        3 months aGo        372 MB

    我们准备把node3上的Mysql:5.7.22镜像推到docker-registry机器上,需要先给node3机器上的镜像mysql打标签:

[root@k8s-node3 ~]# docker tag mysql:5.7.22 docker-registry:5000/mysql:5.7.22
[root@k8s-node3 ~]#  docker imagesREPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZEdocker-registry.com:5000/mysql                5.7.22              6bb891430fb6        3 months ago        372 MB

    注意,docker-registry是主机名,要用hosts文件解析到对应的registryip地址上。

[root@k8s-node3 ~]# docker push docker-registry:5000/mysql:5.7.22The push refers to a repository [docker-registry:5000/mysql]Get https://docker-registry:5000/v1/_ping: http: server gave HTTP response to HTTPS client

    注意:如果上面写作docker-registry:5000/mysql,说明推送的是mysql顶级仓库下所有的镜像版本。

    上面看到,我们docker push 时报错了,这是因为docker 客户端默认使用的https形式的,但是dockr registry server端是http形式的。

    如果我们实在就用http的,那就需要对docker 客户端做如下修改:

[root@k8s-node3 ~]# vim /etc/docker/daemon.JSON {"registry-mirrors": ["https://registry.docker-cn.com"],"insecure-registries": ["docker-registry:5000"]}

    注意,上面的dokcer-registry是主机名。

[root@k8s-node3 ~]# systemctl  restart docker

    然后再推就能推上去了。

[root@k8s-node3 ~]# docker push docker-registry:5000/mysql:5.7.22The push refers to a repository [docker-registry:5000/mysql]a968f24d4187: Pushed f8cb294d5d80: Pushed 489bddb9c55e: Pushed 22b402e93939: Pushed 8aeebb3964c1: Pushed 94f8d8f5acbf: Pushed c0c26734fb83: Pushed 4801a487d51a: Pushed aae63f31dee9: Pushed 6f8d38b0e2b6: Pushed cdb3f9544e4c: Pushed 5.7.22: digest: sha256:1d3119703eb04855c971a9ec24646184444fa1bd889b201de3ce8904c35eb627 size: 2621

    然后,我们登录到docker registry服务器,就能看到推送过来的镜像了:

[root@docker-registry ~]# ll /var/lib/registry/docker/registry/v2/repositories/mysql/total 0drwxr-xr-x. 3 root root 20 Oct 25 05:13 _layersdrwxr-xr-x. 4 root root 35 Oct 25 05:14 _manifestsdrwxr-xr-x. 2 root root  6 Oct 25 05:14 _uploads

    下面我们就让其他服务器从docker-registry服务器上下载镜像。

    首先也需要在其他服务器上更改docker配置,加个"insecure-registries"参数,如下:

[root@k8s-node1 ~]# cat /etc/docker/daemon.json {"registry-mirrors": ["https://registry.docker-cn.com"],"insecure-registries": ["docker-registry:5000"]}
[root@k8s-node1 ~]# systemctl restart docker

    然后在这个机器上下载docker-registry机器上的镜像:

    [root@k8s-node1 ~]# docker pull docker-registry:5000/mysql:5.7.225.7.22: Pulling from mysql2da35ff30a7d: Pull complete 46459f75a599: Pull complete fe071c86fe94: Pull complete 75457c650197: Pull complete 6506db22c932: Pull complete a6e0a2acd728: Pull complete 3182738b1913: Pull complete ea75bfdf07be: Pull complete 6b85e8810885: Pull complete 5dca51ac89bd: Pull complete b3400d337f49: Pull complete Digest: sha256:1d3119703eb04855c971a9ec24646184444fa1bd889b201de3ce8904c35eb627Status: Downloaded newer image for docker-registry:5000/mysql:5.7.22
[root@k8s-node1 ~]# docker imagesREPOSITORY                                                       TAG                 IMAGE ID            CREATED             SIZETomcat                                                           latest              05af71dd9251        8 days ago          463 MBdocker-registry:5000/mysql                                       5.7.22              6bb891430fb6        3 months ago        372 MB

    看到下载的镜像就是我们私有仓库里面的。

harbor的部署

    我们看到上面搭建的docker私有仓库是命令行界面的,很丑陋。不过,好消息是,目前有个开源项目叫harbor,是在docker registry基础上做的,并带了个漂亮的WEB界面,还支持冗余等。是个非常不错的项目。另外,CNCF组织也非常青睐harbor,可见harbor的前景非常不错。

    可是,harbor的部署是非常麻烦的。还好,现在可以用docker compose(单机编排工具)来做harbor的安装。

    下面我们准备安装harbor试一下。

    官方项目地址是:https://github.com/goharbor/harbor

    官方安装文档:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

    harbor官方要求配置为:

SoftwareVersionDescription
pythonversion 2.7 or higherNote that you may have to install Python on linux distributions (Gentoo, Arch) that do not come with a Python interpreter installed by default
Docker engineversion 1.10 or higherFor installation instructions, please refer to: https://docs.docker.com/engine/installation/
Docker Composeversion 1.6.0 or higherFor installation instructions, please refer to: https://docs.docker.com/compose/install/
Openssllatest is preferredGenerate certificate and keys for Harbor

    先安装epel源。

[root@harbor yum.repos.d]# cd /etc/yum.repos.d/[root@harbor yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

    看epel里面的docker-compose版本情况:

[root@docker-registry yum.repos.d]# yum info docker-composeepel                                                                                                                     12742/12742Available PackagesName        : docker-composeArch        : noarchVersion     : 1.18.0Release     : 1.el7Size        : 226 kRepo        : epel/x86_64Summary     : Multi-container orchestration for DockerURL         : https://github.com/docker/composeLicense     : ASL 2.0

    登录https://github.com/goharbor/harbor/releases下载harbor。

    我们下载二进制的安装包:

docker私有仓库如何搭建

[root@harbor ~]# wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.6.1.tgz
[root@harbor ~]# tar -xvf harbor-offline-installer-v1.6.1.tgz  -C /usr/local/

    编辑配置文件:

[root@harbor ~]# cd /usr/local/harbor/
[root@docker-registry harbor]# vim harbor.cfghostname = 172.16.22.196 #harbor服务器的名称,可以是IP地址(本机ip),或者是完整的域名,不要使用localhost或者127.0.0.1,因为服务需要被其他的机器访问ui_url_protocol = http  max_job_workers = 10 #小于操作系统的cpu个数harbor_admin_passWord = Harbor12345 #admin的密码

    停止我们前面安装的docker-distribution

[root@harbor harbor]# systemctl stop docker-distribution

    安装docker-compose

[root@docker-registry harbor]# yum install docker-compose

    安装docker:

[root@harbor harbor]#yum intall docker-ce[root@harbor harbor]# systemctl start docker

    安装harbor:

[root@harbor harbor]# ./prepare [root@harbor harbor]# ./install.sh [Step 0]: checking installation environment ...Note: docker version: 18.06.1Note: docker-compose version: 1.18.0

    安装过程时间比较长,原因是它需要展开harbor.v1.6.1.tar.gz镜像,并安装这些镜像。

    安装完后,访问http://172.16.22.196,默认用户名admin,密码Harbor12345

docker私有仓库如何搭建

    登录后,我们建立一个普通用户:

docker私有仓库如何搭建

    创建一个项目:

docker私有仓库如何搭建

docker私有仓库如何搭建

   docker私有仓库如何搭建    

     备注:上面的复制管理就是用来给harbor做主从复制的。

    然后以普通用户登录,并创建一个项目:

docker私有仓库如何搭建

docker私有仓库如何搭建

    我们登录另外一个机器node03当做客户端,然后在这个机器上修改客户端以http方式访问harbor server(我这里ip是172.16.22.196):

[root@k8s-node3 ~]# vim /etc/docker/daemon.json{"registry-mirrors": ["https://registry.docker-cn.com"],"insecure-registries": ["172.16.22.196"]}
[root@k8s-node3 ~]# systemctl daemon-reload[root@k8s-node3 ~]# systemctl restart docker

    然后给node3的镜像打标签,打成harbor主机名形式:

docker私有仓库如何搭建

[root@k8s-node3 ~]# docker tag mysql:5.7.22  172.16.22.196/dev/mysql:5.7.22

    在node3机器上,登录docker-registry(172.16.22.196)

[root@k8s-node3 ~]# docker login 172.16.22.196Username: chenzhixinPassword: Login Succeeded

    把node3上的镜像推送到harbor server172.16.22.196上:

[root@k8s-node3 ~]# docker push 172.16.22.196/dev/mysql #不加标签标示把mysql下所有标签的镜像都推送到harbor上The push refers to a repository [172.16.22.196/dev/mysql]a968f24d4187: Pushed f8cb294d5d80: Pushed 489bddb9c55e: Pushed 22b402e93939: Pushed 8aeebb3964c1: Pushed 94f8d8f5acbf: Pushed c0c26734fb83: Pushed 4801a487d51a: Pushed aae63f31dee9: Pushed 6f8d38b0e2b6: Pushed cdb3f9544e4c: Pushed 5.7.22: digest: sha256:1d3119703eb04855c971a9ec24646184444fa1bd889b201de3ce8904c35eb627 size: 2621

    然后我们就能在harbor server上看到我们推送的镜像了:

docker私有仓库如何搭建

    Harbor容器的stop与start:

进入Harbor目录执行如下命令即可:cd /usr/local/harbordocker-compose stop/start

    其他补充知识:

  /usr/local/harbor/docker-compose.yml :这个文件里面定义了数据存放的目录是:/data

[root@harbor harbor]# ls /data/ca_download  config  database  job_logs  psc  redis  registry  secreTKEy

关于“docker私有仓库如何搭建”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: docker私有仓库如何搭建

本文链接: https://www.lsjlt.com/news/238309.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • docker私有仓库如何搭建
    这篇文章将为大家详细讲解有关docker私有仓库如何搭建,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。docker-registry的部署      &n...
    99+
    2023-06-04
  • Linux中如何搭建Docker私有仓库
    本篇内容介绍了“Linux中如何搭建Docker私有仓库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用Docker私有仓库可以帮助我们节...
    99+
    2023-06-27
  • docker怎么搭建私有仓库
    要搭建私有仓库,您可以按照以下步骤操作: 安装Docker:确保您的系统中已经安装了Docker。具体安装步骤可以参考Docke...
    99+
    2023-10-26
    docker
  • docker私有仓库如何搭建与使用
    本篇内容主要讲解“docker私有仓库如何搭建与使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker私有仓库如何搭建与使用”吧!环境规划需要两台机器:...
    99+
    2024-04-02
  • 如何进行docker registry 私有仓库的搭建
    这期内容当中小编将会给大家带来有关如何进行docker registry 私有仓库的搭建,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。摘要随着docker使用的镜像越来越多,就需要有一...
    99+
    2023-06-26
  • docker如何建立私有仓库
    小编给大家分享一下docker如何建立私有仓库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在 Docker 中,当我们执行 docker pull xxx 的时...
    99+
    2023-06-26
  • 如何搭建私有maven仓库?
    Maven仓库 如何搭建私有maven仓库? ChatGPT: 要搭建私有 Maven 仓库,您可以按照以下步骤进行操作: 选择 Maven 仓库管理器:有多种 Maven 仓库管理器可供选择,比如 Nexus、Artifactory 等。...
    99+
    2023-08-30
    maven java gradle
  • Linux中怎么搭建Docker私有仓库
    本篇内容主要讲解“Linux中怎么搭建Docker私有仓库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux中怎么搭建Docker私有仓库”吧!1、下载registry镜像[root@lo...
    99+
    2023-06-27
  • docker私有镜像仓库怎么搭建
    要搭建一个Docker私有镜像仓库,可以按照以下步骤进行操作:1. 安装Docker:首先确保你的服务器上已经安装了Docker引擎...
    99+
    2023-09-23
    docker
  • 如何搭建maven私有仓库
    要搭建Maven私有仓库,可以按照以下步骤进行操作:1. 安装和配置Nexus或Artifactory: Nexus和Artifac...
    99+
    2023-08-26
    maven
  • 如何搭建私有YUM仓库
    这篇文章主要介绍了如何搭建私有YUM仓库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。借助于YUM软件仓库,可以完成安装、卸载、自动升级rpm软件包等任务,能够自动查找并解决...
    99+
    2023-06-28
  • docker registry 私有仓库的搭建过程
    目录摘要一、环境准备二、配置registry私有仓库三、上传与下载镜像四、配置registry加载身份验证五、 docker registry 私有仓库查询、删除博文参考摘...
    99+
    2024-04-02
  • 怎么搭建配置Docker私有仓库
    这篇文章主要讲解了“怎么搭建配置Docker私有仓库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么搭建配置Docker私有仓库”吧!⛳️ 1.Docker容器三要素Docker 是一个开...
    99+
    2023-07-02
  • CentOS7下如何使用Sonatype Nexus3搭建Docker私有仓库
    小编今天带大家了解CentOS7下如何使用Sonatype Nexus3搭建Docker私有仓库,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起...
    99+
    2023-06-28
  • 利用Docker搭建Nexus私有仓库实现Maven私服
    目录一、前言二、Nexus搭建三、配置仓库3.1 配置加速库3.2 创建私有仓库四、配置权限五、上传Jar包六、使用Jar包一、前言 相信国内的小伙伴都经历过,Gradle、Mave...
    99+
    2024-04-02
  • Harbor搭建Docker私有仓库的实现方法
    目录1 开源的仓库管理工具Harbor2 安装2.1 安装Docker和Docker-compose2.2 安装Harbor3 简单使用3.1 用admin创建用户3.2 新用户创建...
    99+
    2024-04-02
  • Docker容器搭建本地私有仓库详情
    目录前言一、首先下载registry镜像二、在daemon.json文件中添加私有镜像仓库的地址并重启三、创建registry容器并开放端口四、给镜像打标签后上传到私有仓库五、获取私...
    99+
    2022-11-13
    Docker容器搭建私有仓库 Docker容器搭建
  • docker私有仓库的搭建和使用的方法
    本篇内容介绍了“docker私有仓库的搭建和使用的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.下...
    99+
    2024-04-02
  • Docker中如何使用私有仓库
    在Docker中使用私有仓库,可以通过以下步骤实现: 部署私有仓库:首先需要在服务器上部署私有仓库,可以使用Docker官方提供...
    99+
    2024-04-02
  • 怎么搭建maven私有仓库
    本篇文章和大家了解一下怎么搭建maven私有仓库。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。在本篇文章中,我们将介绍如何搭建一个Maven私有仓库。在软件开发过程中,依赖管理是一个重要的环节。Maven是一个流行的Ja...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作