基于 harbor 构建docker私有仓库
1、机器准备
os:openEuler 、rockylinux
mem:4G
disk:100G
2、关闭防火墙、禁用SELinux
3、安装docker和docker-compose
yum install docker-ce -y
配置加速
vim /etc/docker/daemon.json
{"registry-mirrors": ["https://docker.m.daocloud.io","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://docker.nju.edu.cn"]
}
启动
systemctl enable --now docker.service
部署docker-compose
curl -L https://mirrors.aliyun.com/docker-toolbox/linux/compose/1.21.2/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose
查看执行权限
ll /usr/local/bin/docker-compose
增加执行权限
chmod +x /usr/local/bin/docker-compose
查看docker-compose版本
docker-compose -v
部署Harbor服务
wget -c https://github.com/goharbor/harbor/releases/download/v2.12.2/harbor-offline-installer-v2.12.2.tgz
解压,提供配置文件
tar xf harbor-offline-installer-v2.8.4.tgz -C /usr/local/
进入到此目录中
cd /usr/local/harbor/
复制此文件
cp harbor.yml.tmpl harbor.yml
编辑此文件
注意:
- yml 配置文件出错,yml 对格式要求非常严格
- 以 key - value 的形式存在
- key和value 之间必须有空格
vim harbor.yml
./prepare
./install.sh
docker-compose ps
用户名admin
密码Harbor12345
点击library
点击推送命令
在另一台装有docket的机器中访问私有仓库192.168.1.129
首先增加/etchosts解析
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.52
将配置的harbor的虚拟机的域名写进去,因为我配置的是IP ,所以我写IP
vim /etc/docker/daemon.json
{"insecure-registry":["192.168.1.52"],"registry-mirrors":["https://docker.m.daocloud.io","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://docker.nju.edu.cn"]
}
然后登录
docker login 192.168.1.52
出现这样的报错
解决方法
修改一下你docker的配置文件仓库地址为本机地址
vim /etc/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --insecure-registry=192.168.1.52
重启
systemctl daemon-reloadsystemctl restart docker.service
在项目中标记镜像:例如busybox
docker tag busybox:latest 192.168.1.52/library/busybox:latest
推送镜像到当前项目:
docker push 192.168.1.52/library/busybox:latest
查看页面