Harbor本地仓库搭建

安装相关需求

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

更改权限,移动到bin文件夹

[root@node0 ~]# chmod +x docker-compose #添加执行权限

[root@node0 ~]# mv docker-compose /usr/local/bin/
[root@node0 ~]# which docker-compose 
/usr/local/bin/docker-compose
[root@node0 ~]# docker-compose -v #查看版本
docker-compose version 1.28.5, build c4eb3a1f

  • 下载解压habor
[root@node0 ~]# wget https://github.com/goharbor/harbor/releases/download/v2.2.0/harbor-offline-installer-v2.2.0.tgz

[root@node0 ~]# tar -xf harbor-offline-installer-v2.2.0.tgz -C /usr/local/

  • 复制yml文件
[root@node0 harbor]# cp harbor.yml.tmpl harbor.yml
[root@node0 harbor]# vim harbor.yml
...
hostname: 192.168.94.142 //更改ip
...
# https related config //注释https相关配置
# 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 
  
...
# Remember Change the admin password from UI after launching Harbor.
harbor_admin_password: Abc12345 //更改默认密码



  • 安装
[root@node0 harbor]# ./install.sh 
...
✔ ----Harbor has been installed and started successfully.----
//查看镜像启动
[root@node0 harbor]# ss -antl
State              Recv-Q             Send-Q                          Local Address:Port                           Peer Address:Port             
LISTEN             0                  128                                 127.0.0.1:1514                                0.0.0.0:*                
LISTEN             0                  128                                   0.0.0.0:80                                  0.0.0.0:*                
LISTEN             0                  128                                   0.0.0.0:22                                  0.0.0.0:*                
LISTEN             0                  128                                         *:2375                                      *:*                
LISTEN             0                  128                                      [::]:22                                     [::]:*      
[root@node0 harbor]# docker ps
CONTAINER ID   IMAGE                                COMMAND                  CREATED              STATUS                        PORTS                       NAMES
3d6af2fc956c   goharbor/harbor-jobservice:v2.2.0    "/harbor/entrypoint.…"   About a minute ago   Up About a minute (healthy)                               harbor-jobservice
9884501665c6   goharbor/nginx-photon:v2.2.0         "nginx -g 'daemon of…"   About a minute ago   Up About a minute (healthy)   0.0.0.0:80->8080/tcp        nginx
494b281f03a5   goharbor/harbor-core:v2.2.0          "/harbor/entrypoint.…"   About a minute ago   Up About a minute (healthy)                               harbor-core
a957703e5827   goharbor/harbor-registryctl:v2.2.0   "/home/harbor/start.…"   About a minute ago   Up About a minute (healthy)                               registryctl
113d9b18befd   goharbor/registry-photon:v2.2.0      "/home/harbor/entryp…"   About a minute ago   Up About a minute (healthy)                               registry
80ab4278ee87   goharbor/redis-photon:v2.2.0         "redis-server /etc/r…"   About a minute ago   Up About a minute (healthy)                               redis
cbdbb08f1380   goharbor/harbor-db:v2.2.0            "/docker-entrypoint.…"   About a minute ago   Up About a minute (healthy)                               harbor-db
832d365cebe5   goharbor/harbor-portal:v2.2.0        "nginx -g 'daemon of…"   About a minute ago   Up About a minute (healthy)                               harbor-portal
6916d051cecb   goharbor/harbor-log:v2.2.0           "/bin/sh -c /usr/loc…"   About a minute ago   Up About a minute (healthy)   127.0.0.1:1514->10514/tcp   harbor-log
  • 设置开机启动脚本
[root@node0 harbor]# vim startall.sh

#! /bin/bash
cd /usr/local/harbor
docker-compose stop && docker-compose start

// 为rc.loacl和脚本增加执行权限
[root@node0 harbor]# chmod  +x startall.sh 
[root@node0 harbor]# chmod +x /etc/rc.d/rc.local 
[root@node0 harbor]# chmod +x /etc/rc.local 
[root@node0 ~]# vim /etc/rc.local

#!/bin/bash
/bin/bash /usr/local/harbor/startall.sh

输入ip访问

登录界面

创建用户

创建项目

为项目添加用户

查看推送命令

  • 推送镜像
//添加insecure-registries本机ip,重启守护进程
[root@node0 harbor]# vim /etc/docker/daemon.json 

{
  "insecure-registries": ["192.168.94.142"]
}
//重启守护进程和compose
[root@node0 harbor]# systemctl daemon-reload 
[root@node0 harbor]# systemctl restart docker.service 
[root@node0 harbor]# docker-compose start
//登入本地仓库(需在harbor界面创建用户)
[root@node0 harbor]# docker login 192.168.94.142
Username: test
Password: (Abc12345)不可见
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

//开启harbor
[root@node0 harbor]# docker-compose start
//更改镜像tag
[root@node0 harbor]# docker tag web/apache:v0.29 192.168.94.142/test/apache:v0.1
//推送镜像
[root@node0 harbor]# docker push 192.168.94.142/test/apache:v0.1 
The push refers to repository [192.168.94.142/test/apache]
6b60cf6bb9e2: Pushed 
c49c9257852a: Pushed 
ca2e3fed593b: Pushed 
e7b817d9b79a: Pushed 
c04d1437198b: Pushed 
v0.1: digest: sha256:ef6dc24e0cc0b9d7ac94fe52c34525d7f59517aeae16f9e9e430d1d078ce09ca size: 1372

查看镜像

posted on 2021-03-09 22:35  fxx013  阅读(109)  评论(0编辑  收藏  举报

导航