Harbor搭建Docker私有仓库的实现方法

 更新时间:2021年06月21日 09:18:45   作者:南瓜慢说  
Harbor是一个由CNCF托管的开源的Docker镜像仓库管理工具,我们可以通过它快速的建立起自己的私有仓库,本文就详细的介绍了Harbor搭建Docker私有仓库的实现方法,感兴趣的可以了解一下

1 开源的仓库管理工具Harbor

Harbor是一个由CNCF托管的开源的Docker镜像仓库管理工具,我们可以通过它快速的建立起自己的私有仓库。当然,搭建私有仓库的选择很多,如Docker官方提供的registry镜像或者Nexus等。但Harbor不失为一种不错的选择。

2 安装

Harbor的安装方式也很多,如通过命令行安装、Helm安装等,本文演示通过命令行的脚本安装。

2.1 安装Docker和Docker-compose

首先Docker是要安装的,Harbor是通过一堆容器来启动的。另外还需要安装docker-compose,并对版本有一定要求,这里通过在Rancher的资源库找到软件包,配置一下即可:

安装Docker-compose

wget http://rancher-mirror.cnrancher.com/docker-compose/v1.27.4/docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod a+x /usr/local/bin/docker-compose

2.2 安装Harbor

2.2.1 下载解压

先到GitHub Release下载对应的包,有offlineonline两种,offline比较大,包含的对应的依赖;online没有包含对应的依赖组件,安装的时候还需要进行下载。这里使用online的包,因为从Github下载东西也不见得有多快。

下载:

wget https://github.com/goharbor/harbor/releases/download/v2.1.1/harbor-online-installer-v2.1.1.tgz

解压:

tar zxvf harbor-online-installer-v2.1.1.tgz

2.2.2 配置并安装

准备配置文件:

cp harbor.yml.tmpl harbor.yml

修改配置:vi harbor.yml,主要把https去掉,并配置服务器地址和密码。关键配置有:

hostname: 8.134.18.166
http:
  port: 8088
# https related config
#https:
  # https port for harbor, default is 443
  # port: 443
  # The path of cert and key files for nginx
  #certificate: /your/certificate/path
  #private_key: /your/private/key/path
harbor_admin_password: Harbor12345

改完配置后就开始执行安装:

./install.sh

安装成功会有提示。

3 简单使用

3.1 用admin创建用户

访问:http://8.134.18.166:8088/,即可登陆使用,用户名为admin,密码默认为Harbor12345

管理用户admin权限太高,要创建一个普通用户:

创建用户的信息:

3.2 新用户创建项目

退出admin,用新创建的用户登陆,然后创建一个项目,用于存放镜像:

项目创建成功:

3.3 Docker连接仓库

3.3.1 修改docker配置并重启

在一台有docker的机器上配置daemon.json,增加"insecure-registries": ["http://8.134.18.166:8088"],

vi /etc/docker/daemon.json

配置后内容如下:

{
  "insecure-registries": ["http://8.134.18.166:8088"],
  "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}

重启Docker

systemctl restart docker

3.3.2 登陆与推送镜像

登陆新建的仓库:

$ docker login http://8.134.18.166:8088 --username pkslow --password Pk123456
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
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

给其中一个镜像打个tag

docker tag nginx 8.134.18.166:8088/pkslow/nginx:latest

上传镜像到仓库:

$ docker push 8.134.18.166:8088/pkslow/nginx:latest
The push refers to repository [8.134.18.166:8088/pkslow/nginx]
cdd1d8ebeb06: Pushed 
fe08d9d9f185: Pushed 
280ddd108a0a: Pushed 
f14cffae5c1a: Pushed 
d0fe97fa8b8c: Pushed 
latest: digest: sha256:4949aa7259aa6f827450207db5ad94cabaa9248277c6d736d5e1975d200c7e43 size: 1362

到网页检查一下,已经有对应的镜像了:

拉取就不演示了。

到此这篇关于Harbor搭建Docker私有仓库的实现方法的文章就介绍到这了,更多相关Harbor搭建Docker私有仓库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Docker搭建Django,Nginx,R,Python部署环境的方法

    使用Docker搭建Django,Nginx,R,Python部署环境的方法

    本篇文章主要介绍了使用Docker搭建Django,Nginx,R,Python部署环境的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • docker容器中crontab无法正常运行解决方案

    docker容器中crontab无法正常运行解决方案

    相信很多人看完docker容器, 需要加crontab, 加完却发现不能执行,什么原因造成的呢?下面小编给大家分享docker容器中crontab无法正常运行的解决方案,需要的朋友参考下吧
    2017-01-01
  • ubuntu17.10安装docker-ce的方法

    ubuntu17.10安装docker-ce的方法

    本篇文章主要介绍了ubuntu 17.10 安装docker-ce的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 利用Docker-compose安装redis的简单步骤

    利用Docker-compose安装redis的简单步骤

    Docker-compose是Docker官方推出的一个工具软件,可以管理多个Docker容器组成的一个应用,下面这篇文章主要给大家介绍了关于利用Docker-compose安装redis的简单步骤,需要的朋友可以参考下
    2024-03-03
  • Docker部署SpringBoot项目的实现步骤

    Docker部署SpringBoot项目的实现步骤

    本文主要介绍了Docker部署SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2007-02-02
  • ubuntu如何查看docker容器占用的磁盘空间

    ubuntu如何查看docker容器占用的磁盘空间

    这篇文章主要介绍了ubuntu如何查看docker容器占用的磁盘空间问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Docker镜像管理常用操作代码示例

    Docker镜像管理常用操作代码示例

    这篇文章主要介绍了Docker镜像管理常用操作代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • docker该如何删除已停止的容器

    docker该如何删除已停止的容器

    Docker是一个非常有趣的项目,容器是独立运行的一个或一组应用,及他们的运行环境,容器是Docker中的一个重要的概念,这篇文章主要给大家介绍了关于docker该如何删除已停止的容器的相关资料,需要的朋友可以参考下
    2023-05-05
  • Docker安装MinIO详细步骤介绍

    Docker安装MinIO详细步骤介绍

    大家好,本篇文章主要讲的是Docker安装MinIO详细步骤介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 使用docker部署django的详细步骤

    使用docker部署django的详细步骤

    当用Django框架开发的网站项目完成后上线的话可以用物理主机、虚拟机来部署,也可以容器,下面这篇文章主要给大家介绍了关于使用docker部署django的详细步骤,需要的朋友可以参考下
    2022-08-08

最新评论