多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] # 1. 安装Harbor **1. 安装Docker并启动Docker(已完成)** **2. 安装docker-compose** ```shell sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) \ -o /usr/local/bin/docker-compose ``` **3. 给docker-compose添加执行权限** ```shell sudo chmod +x /usr/local/bin/docker-compose ``` **4. 查看docker-compose是否安装成功** ```shell # docker-compose -version docker-compose version 1.21.2, build a133471 ``` **5. 下载Harbor压缩包并解压** 下载地址:https://github.com/goharbor/harbor/releases ```shell wget https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz tar -xzf harbor-offline-installer-v2.4.1.tgz -C /opt/install ``` **6. 修改Harbor的配置** ```shell cd /opt/install/harbor/ cp harbor.yml.tmpl harbor.yml # vim harbor.yml hostname: 192.168.1.29 port: 85 --将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 ``` **7. 安装Harbor** ```shell ./prepare ./install.sh ``` **8. 启动Harbor** ```shell --启动。 ps. 如果下面的命令启动失败则用该命令 docker-compose -f /opt/install/harbor/harbor.yml up -d 启动 docker-compose up -d --停止 docker-compose stop --重启 docker-compose restart ``` **9. 浏览器访问Harbor:http://192.168.1.29:85** 默认账户`admin`,默认密码`Harbor12345`。 <br/> # 2. 在Harbor创建用户和项目 **1. 创建项目`tensquare`** >[info]Harbor的项目分为公开和私有的: >公开项目:所有用户都可以访问,通常存放公共的镜像,默认有一个library公开项目。 >私有项目:只有授权用户才可以访问,通常存放项目本身的镜像。 ![](https://img.kancloud.cn/0a/99/0a99bb39eab0a62c1340e53c3fd8707f_1434x604.jpg) **2. 创建用户`harborZhangsan/harborZhang3`** ![](https://img.kancloud.cn/98/44/9844cddcf07316ae6c6ddc9ee7d38552_1453x307.jpg) **3. 给私有项目分配用户** ![](https://img.kancloud.cn/d1/69/d16998f7908451013c0865ed3293aa6a_1505x315.jpg) ![](https://img.kancloud.cn/fa/48/fa486def466482cc29cf8fd46e3ea12e_1369x521.jpg) | 角色 |权限说明| |----|----| | 访客 |对于指定项目拥有只读权限| | 开发人员 |对于指定项目拥有读写权限| | 维护人员 |对于指定项目拥有读写权限,创建 Webhooks| | 项目管理员 |除了读写权限,同时拥有用户管理/镜像扫描等管理权限| <br/> # 3. 把镜像上传到Harbor 下面演示将`production-server`机器上的镜像上传到位于`docker-server`机器上的Harbor。 <br/> **1. 在production-server机器上完成下面步骤** ```shell (1) 把Harbor地址加入到Docker信任列表 # vim /etc/docker/daemon.json { "registry-mirrors":[ "https://zydiol88.mirror.aliyuncs.com" ], "insecure-registries":[ "192.168.1.29:85" --这个是harbor地址 ] } (2) 重启docker systemctl restart docker (3) 登录Harbor docker login -u harbor账号 -p harbor密码 192.168.1.29:85 (4) 给需要上传到Harbor的镜像打标签 --查看当前机器有哪些镜像 # docker images REPOSITORY TAG IMAGE ID CREATED SIZE tensquare-eureka-server v1.0 b82ccd24a80b About an hour ago 150MB --给 tensquare-eureka-server 镜像打标签 docker tag tensquare-eureka-server:v1.0 192.168.1.29:85/tensquare/tensquare-eureka-server:v1.0 (5) 推送镜像到Harbor docker push 192.168.1.29:85/tensquare/tensquare-eureka-server:v1.0 ``` **2. 登录到Harbor便可以看到推送的镜像了** ![](https://img.kancloud.cn/11/fc/11fc2453a99ba67ab159b96cb0fbebe7_1641x443.jpg) <br/> # 4. 从Harbor下载镜像 下面演示从Harbor上下载镜像。 <br/> **1. 在需要从Harbor上拉取镜像的机器需要完成如下步骤** ```shell (1) 安装Docker,并启动Docker (2) 把Harbor地址加入到Docker信任列表 # vim /etc/docker/daemon.json { "registry-mirrors":[ "https://zydiol88.mirror.aliyuncs.com" ], "insecure-registries":[ "192.168.1.29:85" --这个是harbor地址 ] } (3) 重启docker systemctl restart docker (4) 登录Harbor docker login -u harbor账号 -p harbor密码 192.168.1.29:85 ``` **2. 拉取镜像** Harbor提供了镜像拉取命令。 ![](https://img.kancloud.cn/21/7b/217bc2284092ee05e4d301f8e87dac0b_1572x405.jpg) ```shell docker pull 192.168.1.29:85/tensquare/tensquare-eureka-server@sha256:f8e52604958377d7934d3f211d0537df2fbd41a085e7f48673f963ce03b82a54 或者如下拉取: docker pull 192.168.1.29:85/tensquare/tensquare-eureka-server:v1.0 ```