Docker 私有仓库 harbor 搭建

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


🎈 作者:Linux猿

🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!

🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬


目录

一、实验环境

二、安装 harbor 

2.1 安装 docker 和 docker-compose

2.2 安装 harbor

2.3 登录 harbor UI 界面

三、测试上传和下载镜像

3.1 docker 常用命令

3.2 上传镜像

3.3 下载镜像


本篇文章主要介绍 Docker 私有仓库 harbor 的搭建,搭建成功后测试镜像的上传和下载。

一、实验环境

本文是在 CentOS 7.9 上进行配置,环境如下所示。

[root@k8s-master node]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[root@k8s-master imagesJar]# docker --version
Docker version 1.13.1, build 7d71120/1.13.1
[root@k8s-master imagesJar]# docker-compose --version
docker-compose version 1.18.0, build 8dd22a9
[root@k8s-master imagesJar]#

二、安装 harbor 

2.1 安装 docker 和 docker-compose

首先,需要在服务器上安装 docker 和 docker-compose,执行如下命令。

[root@k8s-master node]# yum install docker docker-compose

2.2 安装 harbor

在服务器上执行如下命令,下载 harbor 软件包。

[root@k8s-master node]# wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.5.3.tgz

下载比较慢,可以通过迅雷下载。

解压下载的压缩包,执行命令如下。

[root@k8s-master harbor]# tar zxvf harbor-offline-installer-v1.5.3.tgz

执行命令拷贝解压后的目录到 /opt 目录下,执行命令如下所示。 

[root@k8s-master harbor]# mv harbor /opt

 进入到 /opt/harbor 目录下,修改文件 harbor.cfg,修改如下字段。

hostname = 192.168.231.152  # 修改 IP 地址为本机 IP

 执行如下命令,安装 harbor。

[root@k8s-master harbor]# ./prepare
[root@k8s-master harbor]# ./install.sh

问题 1:

[node@k8s-master harbor]$ sudo ./install.sh
➜ Please set hostname and other necessary attributes in harbor.cfg first. DO NOT use localhost or 127.0.0.1 for hostname, because Harbor needs to be accessed by external clients.
Please set --with-notary if needs enable Notary in Harbor, and set ui_url_protocol/ssl_cert/ssl_cert_key in harbor.cfg bacause notary must run under https.
Please set --with-clair if needs enable Clair in Harbor
[node@k8s-master harbor]$ 

解决方法:在 harbor.cfg 配置文件中仅保留一个 hostname 字段。:

问题 2:

执行 install.sh 脚本的时候如下报错如下。

ERROR: for nginx  Cannot start service proxy: b'driver failed programming external connectivity on endpoint nginx (b08a457eb0d19583b0d42a53137a3e8d3a0bc89813b1def8afef7df1d85e1411): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use'

ERROR: for proxy  Cannot start service proxy: b'driver failed programming external connectivity on endpoint nginx (b08a457eb0d19583b0d42a53137a3e8d3a0bc89813b1def8afef7df1d85e1411): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use'
ERROR: Encountered errors while bringing up the project.

说明本机 80 端口占用了,可以

[node@k8s-master harbor]$ netstat -natp | grep 80

 查找到 80 端口对应的进程,通过 kill 命令停止进程。

2.3 登录 harbor UI 界面

在浏览器输入 192.168.231.152/harbor,进入 harbor UI 界面,如下所示。

Docker 私有仓库 harbor 搭建,微服务/K8s/Docker,docker,容器,Harbor仓库,运维,K8s,docker本地仓库

用户名和密码如下所示。

用户名:admin
密码:Harbor12345
密码在 /opt/harbor/harbor.cfg 中配置,默认是 Harbor12345

 登录后界面如下所示。

Docker 私有仓库 harbor 搭建,微服务/K8s/Docker,docker,容器,Harbor仓库,运维,K8s,docker本地仓库

三、测试上传和下载镜像

先来看下 docker 的常用命令,如果想直接看测试,移步到 2.2 上传镜像即可。

3.1 docker 常用命令

(1)docker save

将指定镜像打包成 tar,方便镜像移动。

docker save -o /root/打包名.tar 镜像名:版本号

例如:

[node@k8s-master dockerImages]$ sudo docker save -o ./demo-1.2.0.tar test/demo:1.2.0
[sudo] node 的密码:
[node@k8s-master dockerImages]$ ls
demo-1.2.0.tar
[node@k8s-master dockerImages]$

执行上述 docker save 命令会在当前目录下出现 demo-1.2.0.tar 包,将该包复制到别的机器,执行docker load 命令就完成 docker 镜像的转移了。

(2)docker load

用于载入打包好的镜像。例如:

[node@k8s-node-1 dockerImages]$ sudo docker load -i demo-1.2.0.tar
9c742cd6c7a5: Loading layer [==================================================>] 129.2 MB/129.2 MB
03127cdb479b: Loading layer [==================================================>]  11.3 MB/11.3 MB
293d5db30c9f: Loading layer [==================================================>] 19.31 MB/19.31 MB
5c384ea5f752: Loading layer [==================================================>] 12.32 MB/12.32 MB
990c5138f5d1: Loading layer [==================================================>] 3.584 kB/3.584 kB
1aaddf64804f: Loading layer [==================================================>] 108.3 MB/108.3 MB
0a8cde955e2b: Loading layer [==================================================>] 3.584 kB/3.584 kB
0931afb63541: Loading layer [==================================================>]  16.5 MB/16.5 MB
Loaded image: test/demo:1.2.0
[node@k8s-node-1 dockerImages]$ sudo docker images
REPOSITORY                                            TAG                 IMAGE ID            CREATED             SIZE
test/demo                                             1.2.0               fff004fa39a7        11 hours ago        290 MB
docker.io/nginx                                       alpine              4937520ae206        3 weeks ago         41.4 MB
docker.io/nginx                                       latest              eb4a57159180        3 weeks ago         187 MB
registry.access.redhat.com/rhel7/pod-infrastructure   latest              99965fb98423        5 years ago         209 MB
[node@k8s-node-1 dockerImages]$

(3)docker tag

用于给镜像打标签,语法格式如下所示。

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

(4)docker push

将本地的镜像上传到镜像仓库,要先登陆到镜像仓库。语法格式如下所示。

docker push [OPTIONS] NAME[:TAG]

3.2 上传镜像

(1)登录 Harbor

首先,需要修改配置,修改 /etc/docker/daemon.json 文件,添加如下内容。

{
    "insecure-registries": ["192.168.231.152"]
}

其中,IP 是 Harbor 仓库 IP。然后执行如下命令,重启服务。

[root@k8s-master harbor]# systemctl daemon-reload
[root@k8s-master harbor]# systemctl restart docker

然后,需要在本地的服务器(Linux 机器)上登录,执行如下命令登录。

[root@k8s-master harbor]# docker login 192.168.231.152

 其中,IP 是 Harbor 仓库的 IP,然后输入用户名和密码(这里默认用户名:admin,密码:Harbor12345)。 

登录如果有问题,可以执行如下命令尝试,或者重启机器。

docker-compose down -v
# 需要在 harbor 解压包的目录下执行
docker-compose up -d

(2)登录 Harbor UI 界面

登录 Harbor UI 界面后,点击 项目 -> library -> 推送镜像,如下所示。

Docker 私有仓库 harbor 搭建,微服务/K8s/Docker,docker,容器,Harbor仓库,运维,K8s,docker本地仓库

 可以看到两条命令,第一个命令就是推送到 library 项目下的镜像需要打 TAG 的命令,第二条命令是推送到 library 项目下镜像的推送命令。

(3)上传镜像

执行 docker tag 和 docker push 命令,将镜像上传到 Harbor 中,如下所示。

[root@k8s-master imagesJar]# docker tag test/demo:1.2.0 192.168.231.152/library/test:1.9.0
[root@k8s-master imagesJar]# docker push 192.168.231.152/library/test:1.9.0
The push refers to a repository [192.168.231.152/library/test]
0931afb63541: Mounted from library/demo
0a8cde955e2b: Mounted from library/demo
1aaddf64804f: Mounted from library/demo
990c5138f5d1: Mounted from library/demo
5c384ea5f752: Mounted from library/demo
293d5db30c9f: Mounted from library/demo
03127cdb479b: Mounted from library/demo
9c742cd6c7a5: Mounted from library/demo
1.9.0: digest: sha256:f864fb61dc16e5df453fcb6697418d0229871c6bb584cccdfd8662b1fd06c335 size: 2001
[root@k8s-master imagesJar]# 

在 Harbor UI 界面中可以看到对应的镜像。

3.3 下载镜像

执行如下命令拉取镜像。

[root@k8s-master imagesJar]# docker pull 192.168.231.152/library/demo:1.8.0
Trying to pull repository 192.168.231.152/library/demo ...
1.8.0: Pulling from 192.168.231.152/library/demo
Digest: sha256:f864fb61dc16e5df453fcb6697418d0229871c6bb584cccdfd8662b1fd06c335
Status: Image is up to date for 192.168.231.152/library/demo:1.8.0
[root@k8s-master imagesJar]# 

参考链接:

https://www.runoob.com/docker/docker-push-command.html

https://www.cnblogs.com/pzk7788/p/10180919.html

Harbor私有镜像仓库离线部署-harbor 2.5.3_harbor离线部署_渡渡甲的博客-CSDN博客

Harbor安装小坑Please set hostname and other necessary attributes in harbor.cfg first._please do not set --with-chartmuseum, as chartmusu_流年 Narcissus yu的博客-CSDN博客 报错:ERROR: for nginx Cannot start service proxy;for proxy Cannot start service proxy;......_这闺女长得真俊啊的博客-CSDN博客

push到harbor的注意事项_error parsing http 405 response body: invalid char_阿白,的博客-CSDN博客

https://www.cnblogs.com/anxminise/p/9764221.html


🎈 感觉有帮助记得「一键三连支持下哦!有问题可在评论区留言💬,感谢大家的一路支持!🤞猿哥将持续输出「优质文章回馈大家!🤞🌹🌹🌹🌹🌹🌹🤞


 文章来源地址https://www.toymoban.com/news/detail-567276.html

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

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

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

相关文章

  • K8s集群Harbor私有仓库部署+ssl证书申请

    首先打开ssl证书服务控制台 然后点击SSL证书—免费证书—立即购买 注意此证书只支持单域名,最多可免费申请20个,而且一个账号只有一次免费机会,证书有效期为一年 购买完免费证书后,然后创建自己域名的证书即可 下载(下载类型选择其他)我们申请的证书 上传到harbor所

    2024年01月15日
    浏览(38)
  • 通过docker+cri-dockerd部署k8s集群环境(含harbor镜像仓库)

    目录 一.虚拟机准备 二.基础环境配置(各个节点都做) 1.IP和hosts解析 2.防火墙和selinux 3.安装基本软件 4.配置时间同步 5.禁用swap分区 6.修改内核参数并重载 7.配置ipvs 三.docker环境(各个节点都做) 1.配置软件源并安装docker-ce 2.配置docker加速 四.cri环境配置(各个节点都做)

    2024年02月05日
    浏览(62)
  • Docker 私有仓库 harbor 搭建

    🎈 作者: Linux猿 🎈 简介: CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! 🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬 目录 一、实验环境 二、安装 harbor  2.1 安装 docker 和 docker-compose 2.2 安装 harbo

    2024年02月16日
    浏览(45)
  • 新版K8s:v1.28拉取Harbor仓库镜像以及本地镜像(docker弃用改用containerd,纯纯踩坑)

    使用Kuboard作为k8s集群的管理平台,Harbor作为镜像仓库,拉取Harbor镜像仓库的镜像运行。 从K8s1.24版本之后,k8s就逐渐弃用了docker,采用containerd来管理,这个很重要。 服务器 IP地址 备注 K8sMaster 192.168.2.138 kuboard,Master管理节点 K8sWorker01 192.168.2.139 Worker工作节点 K8sWorker02 192.168.

    2024年01月20日
    浏览(59)
  • k8s harbor镜像仓库搭建

    1.前言 Harbor 是一个开源的云原生镜像仓库,用于存储和分发 Docker 镜像。它提供了一些安全性和管理方面的功能,使得用户可以更好地管理和共享 Docker 镜像 2.配置harbor搭建环境 harbor的搭建需要用到docker、docker-compose服务 docker搭建参考:部署docker-ce_Apex Predator的博客-CSDN博客

    2024年02月16日
    浏览(48)
  • 【Docker从入门到入土 4】使用Harbor搭建Docker私有仓库

    Harbor 是一个由CNCF托管的开源的 Docker镜像仓库管理工具 ,可以通过它 快速的建立起自己的私有仓库 。 Harbor 的每个组件都是以 Docker 容器的形式构建的,使用 d ocker-compose 来对它进行部署。 用于部署 Harbor 的 docker-compose 模板位于 harbor/docker-compose.yml 。 1) 基于角色控制 :用

    2024年02月08日
    浏览(41)
  • Gitlab+Jenkins+Docker+Harbor+K8s集群搭建CICD平台(持续集成部署Hexo博客Demo)

    目录 涉及内容: 一、CICD服务器环境搭建 1、docker 环境安装 (1)、拉取镜像,启动并设置开机自启 (2)、配置docker加速器 2、安装并配置GitLab (1)、创建共享卷目录 (2)、创建 gitlab 容器 (3)、关闭容器修改配置文件 (4)、修改完配置文件之后。直接启动容器 (5)、相关

    2024年03月15日
    浏览(70)
  • 第27关 在K8s集群上使用Helm3部署最新版本v2.10.0的私有镜像仓库Harbor

    ------ 课程视频同步分享在今日头条和B站 大家好,我是博哥爱运维。 在前面的几十关里面,博哥在k8s上部署服务一直都是用的docker hub上的公有镜像,对于企业服务来说,有些我们是不想把服务镜像放在公网上面的; 同时如果在有内部的镜像仓库,那拉取镜像的速度就会很快

    2024年02月01日
    浏览(47)
  • Harbor私有仓库搭建并配置https对接docker与kubernetes

    默认情况下,Harbor 不附带证书。可以在没有安全保护的情况下部署 Harbor,以便您可以通过 HTTP 连接到它。在生产环境中,推荐始终使用 HTTPS。要配置 HTTPS,必须创建 SSL 证书。可以使用由受信任的第三方 CA 签名的证书,也可以使用自签名证书。本文以自签名证书为例。 使用

    2024年02月03日
    浏览(49)
  • 基于docker,k8s 搭建服务(单体docker-compose编排)

    1、 yum -y install gcc yum -y instacc gcc-c++ 2、安装yum 工具 yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken 3、设置docker镜像仓库 阿里云 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 更改镜像仓库为阿里云 sed -i ‘s/download.docker.com/mirrors.aliyun.com/do

    2024年01月22日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包