Harbor镜像仓库搭建
docker安装
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
修改源。
vim docker-ce.repo
原来的:baseurl=https://download.docker.com/linux/
原来的:baseurl=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/
vim命令快速修改
:%s@https://download.docker.com/@https://mirrors.tuna.tsinghua.edu.cn/docker-ce/@
yum -y install docker-ce
安装docker-compose
curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
## 赋予执行权限
chmod +x /usr/local/bin/docker-compose
## 查看安装成功了没
docker-compose --version
创建目录及下载harbor离线包
cd /usr/share/nginx/html
wget https://github.com/goharbor/harbor/releases/download/v2.2.0/harbor-offline-installer-v2.2.0.tgz
tar xf harbor-offline-installer-v2.2.0.tgz && rm harbor-offline-installer-v2.2.0.tgz
修改harbor配置
cd harbor
cp harbor.yml.tmpl harbor.yml
5 hostname: hqq365.com
17 certificate: /data/harbor/ssl/tls.cert
18 private_key: /data/harbor/ssl/tls.key
34 harbor_admin_password: skyhu
// 如果之前有nginx 端口如果冲突 ,需要改端口, 把harbor的端口改掉
./install.sh
重启harbor
docker-compose down -v
docker-compose up -d
docker ps|grep harbor
写一个 harbor_start.sh 脚本
[root@node1 harbor]# vim harbor_enable.sh
#!/bin/bash
cd /usr/share/nginx/html/harbor
docker-compose start
// 给权限
[root@node1 harbor]# chmod +x harbor_enable.sh
[root@node1 harbor]# ll harbor_enable.sh
-rwxr-xr-x. 1 root root 55 Dec 16 18:59 harbor_enable.sh
// 把脚本写入到 /etc/rc.local 文件中
[root@node1 harbor]# vim /etc/rc.local
/bin/bash /usr/local/harbor/harbor_enable.sh // 添加这行
如果Harbor的安装使用HTTP,则必须在客户端的Docker守护程序中添加选项--insecure-registry。
修改/etc/docker/daemon.json文件:
{
"insecure-registries" : ["hub.qianhai.com:端口"]
}
拉取镜像问题
Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout(Docker镜像拉取错误)
阿里云的镜像地址:
{
"registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"]
}
登录harbordocker login hqq365.com:8080
上传镜像
1.先打tag
docker tag nginx:latest hqq365.com:8080/lmnp/nginx:latest ##把tag nginx到远程仓库地址
2.上传镜像到harbor
docker push hqq365.com:8080/lmnp/nginx:latest