Docker的私有仓库


Harbor

介绍

Harbor 是为企业用户设计的容器镜像仓库开源项目,包括了权限管理(RBAC)、LDAP、审计、安全漏洞扫描、镜像验真、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。

官网: https://goharbor.io/

安装

##### 先下载好安装包

## 更换好docker源
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.huaweicloud.com/docker-ce/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.huaweicloud.com/docker-ce/linux/centos/gpg

## 安装docker
yum install -y docker-ce docker-ce-cli containerd.io

## 配置代理
 cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["https://docker.1panel.live", "https://hub.rat.dev/","https://docker.chenby.cn", "https://docker.m.daocloud.io"]
}
EOF

## 启动
systemctl start docker
systemctl enable docker
### 上传harbor
[root@harbor app]# rz

[root@harbor app]# ll
-rw-rw-rw- 1 root root 658192407 Sep  6 12:22 harbor-offline-installer-v2.11.1.tgz

[root@harbor app]# tar xf harbor-offline-installer-v2.11.1.tgz

[root@harbor app]# ll
drwxr-xr-x 2 root root 123 Sep  9 14:28 harbor

### 改配置文件名
[root@harbor harbor]# cp harbor/harbor.yml.tmpl harbor/harbor.yml

### 修改配置文件(注释HTTPS配置)   (也可以域名  要配置解析)
[root@harbor harbor]# vim harbor.yml
hostname: 10.0.0.105                 
harbor_admin_password: 123

### 执行安装脚本
[root@harbor harbor]# ./install.sh

浏览器配置

浏览器访问:http://10.0.0.105/

image-20240909143511992

#### 新建一个项目

image-20240909143738370

#### 删除一个项目

image-20240909143640624



客户端配置

上传镜像规则
需要修改镜像名称
命名规则:
harbor地址/项目名称/镜像名称:标签
10.0.0.105/a/wordpress:v9
#### 配置信任
### .修改docker配置文件 添加 重启
vim /etc/docker/daemon.json 
{
"insecure-registries": ["http://10.0.0.105"]
}
systemctl restart docker


### 添加标签
docker tag  eeb6ee3f44bd   10.0.0.105/a/centos:7

### 登录仓库
docker login 10.0.0.105
Username: admin
Password: 123


### 推送仓库
docker push 10.0.0.105/a/centos:7

其他客户端下载配置

### .修改docker配置文件 添加 重启
vim /etc/docker/daemon.json 
{
"insecure-registries": ["http://10.0.0.105"]
}
systemctl restart docker


### 登录仓库
docker login 10.0.0.105
Username: admin
Password: 123


### 拉去镜像
docker pull 10.0.0.105/a/centos:7






regstry

启动命令

docker run -d -p 5000:5000 --restart=always --name registry -v /opt/myregistry:/var/lib/registry registry

配置

需要修改镜像名称
命名规则:
harbor地址/项目名称/镜像名称:标签
10.0.0.105/a/wordpress:v9
# 修改docker配置文件
[root@docker03 ~]# vim /etc/docker/daemon.json
 vim /etc/docker/daemon.json
{
        "insecure-registries": ["http://10.0.0.105","http://172.16.1.105:5000"],
        "registry-mirrors": ["https://docker.1panel.live", "https://hub.rat.dev/", "https://docker.chenby.cn", "https://docker.m.daocloud.io"]
}
[root@docker03 ~]# systemctl restart docker
### 打tag标签 (5000端口必须携带)
docker tag  eeb6ee3f44bd   172.16.1.105:5000/centos:7

### 上传
docker push 172.16.1.105:5000/centos:7

镜像的操作

#### 查看镜像
 curl http://172.16.1.105:5000/v2/_catalog
{"repositories":["centos"]}

#### 查看镜像的tag号
[root@docker01 ~]# curl http://172.16.1.105:5000/v2/centos/tags/list
{"name":"centos","tags":["7"]}


#### 删除镜像
rm -fr /opt/myregistry/docker/registry/v2/repositories/centos


#### 格式化输出  
yum install jp

curl -s http://172.16.1.105:5000/v2/_catalog|jq
{
  "repositories": [
    "centos"
  ]
}

总结

Registry可以使用nginx代理
Harbor不可以使用nginx代理