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/
#### 新建一个项目
#### 删除一个项目
客户端配置
上传镜像规则
需要修改镜像名称
命名规则:
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代理