文章目录
- 一、环境准备
- 1. 环境要求
- 2. 节点总览
- 3. 安装docker-compose
- 二、安装harbor
- 2.1. 下载
- 2.2. 解压
- 2.3. 调整配置
- 2.5. 安装 harbor
- 2.6. 效果验证
- 三、Docker开启远程API
- 3.1. 修改配置
- 3.2. 支持http
- 3.3. 重新启动Docker服务
- 3.4. 防火墙管理
- 3.5. 重新启动
- 3.6. 监控状态
- 四、测试推送镜像
- 4.1. 新建项目
- 4.2. 登录harbor仓库
- 4.2. tag镜像
- 4.3. 上传镜像到私有仓库
- 4.4. 登录
- 4.5. 验证镜像
- 4.6. 删除本地镜像
- 4.7. 拉取镜像
- 五、基本操作
- 5.1. 下线
- 5.2. 监控状态
- 5.3. 重新部署上线
一、环境准备
1. 环境要求
环境docker版本17.06.0+
软件 | 版本 |
---|---|
系统版本 | centOS 7.6.1810 |
docker | 20.10.11 |
docker-compose | 1.23.2 |
jdk | 1.8.0_301 |
2. 节点总览
ip | 端口 | 用途 |
---|---|---|
192.168.92.129 | 80 | harbor节点1 |
3. 安装docker-compose
服务器有网络安装方式:
docker-compose
是docker用来管理容器的一个工具,harbor的运行基于docker-compose。
- 安装docker-compose:
curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
- 如果github安装太慢,可使用下面的高速地址安装:
curl -L https://get.daocloud.io/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
-
服务器无网络时安装方式:
先下载好(下载地址:https://github.com/docker/compose/releases/)后,上传至服务器centos的/usr/local/bin
目录下 -
赋予权限
不管使用哪种方式下载,上传到指定目录后都需要对文件进行赋权:
chmod +x /usr/local/bin/docker-compose
二、安装harbor
2.1. 下载
下载安装包:
官网地址:https://github.com/vmware/harbor/releases/
下载速度慢可用这个地址:http://harbor.orientsoft.cn/
cd /app
wget https://github.91chi.fun//https://github.com//goharbor/harbor/releases/download/v2.3.4/harbor-offline-installer-v2.3.4.tgz
2.2. 解压
cd /app
tar -zxvf harbor-offline-installer-v2.3.4.tgz
2.3. 调整配置
特殊说明:如果搭建的单机环境的话,配置服务器ip即可,如果集群环境,配置各自的ip
修改harbor配置文件
从模板harbor.yml.tmpl拷贝一份文件命名harbor.yml
cp /app/harbor/harbor.yml.tmpl /app/harbor/harbor.yml
vim /app/harbor/harbor.yml
PS: 这里跟以前2.x以下的版本不一样,没有了harbor.cfg文件,我们需要手动复制harbor.yml.tmpl在做修改即可修改配置harbor.yml文件如下:
PS: harbor作为私有仓库作用在公司内网,一般都是信任关系,没多大必要做https,使用http即可!
所以 把https相关的已经注释掉
hostname: 192.168.92.129
harbor默认存储目录是/data,但是我服务器存储大空间在/app磁盘,因此,调整了目录存储路径
2.5. 安装 harbor
运行install.sh文件安装harbor
cd /app/harbor/
ll
./prepare
./install.sh
2.6. 效果验证
浏览器输入harbor域名,进入登录页面:
https://192.168.92.129/
默认用户名:
admin
密码:
Harbor12345
- 登录页面
三、Docker开启远程API
3.1. 修改配置
用vim编辑器修改docker.service文件
vim /usr/lib/systemd/system/docker.service
需要修改的部分:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
修改后的部分:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
3.2. 支持http
让Docker支持http上传镜像(docker对于私有仓库默认都是使用https,不信任http)
echo '{ "insecure-registries":["192.168.92.129"] }' > /etc/docker/daemon.json
echo '{ "insecure-registries":["192.168.92.130"] }' > /etc/docker/daemon.json
如果端口号不是 80;加上端口号:
echo '{ "insecure-registries":["192.168.92.130:9080"] }' > /etc/docker/daemon.json
3.3. 重新启动Docker服务
systemctl daemon-reload
systemctl restart docker
3.4. 防火墙管理
开启防火墙的Docker构建端口(需要的话)
企业中需要开启防火墙
firewall-cmd --zone=public --add-port=2375/tcp --permanent
firewall-cmd --reload
3.5. 重新启动
cd /app/harbor
docker-compose down -v
docker-compose up -d
3.6. 监控状态
查看harbor的运行状态
cd /app/harbor
docker-compose ps
四、测试推送镜像
4.1. 新建项目
删除默认的项目
新建名称为k8s项目
4.2. 登录harbor仓库
docker login -u admin -p Harbor12345 192.168.92.129
4.2. tag镜像
docker tag nginx:latest 192.168.92.129/k8s/nginx:v1.0
4.3. 上传镜像到私有仓库
docker push 192.168.92.129/k8s/nginx:v1.0
4.4. 登录
进入项目内部
4.5. 验证镜像
验证上传的镜像
4.6. 删除本地镜像
docker rmi 192.168.92.129/k8s/nginx:v1.0
4.7. 拉取镜像
docker pull 192.168.92.129/k8s/nginx:v1.0
- 如果遇到一下问题(没有就跳过):
unauthorized: unauthorized to access repository: ces/ces-auth, action: push: unauthorized to access repository: ces/ces-auth, action: push
所有操作多对的,那可能是端口模式默认的 80/443
- 解决方案
加端口(8080)
docker login -u admin -p Harbor12345 192.168.92.129:8080docker push 192.168.92.129:8080/mynginx/nginx:v1.0
五、基本操作
5.1. 下线
cd /app/harbor
docker-compose down -v
5.2. 监控状态
查看harbor的运行状态
cd /app/harbor
docker-compose ps
5.3. 重新部署上线
docker-compose up -d
or
docker-compose restart