这里使用的是一个开源项目:Harbor
Harbor官网地址:Harbor (goharbor.io)
Github开源地址:https://github.com/goharbor/harbor
1、准备
# linux centos 更新
sudo yum update -y
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 启动 docker
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker
# 下载harbor安装器
wget https://github.com/goharbor/harbor/releases/download/v2.3.2/harbor-online-installer-v2.3.2.tgz
tar xvf harbor-online-installer-v2.3.2.tgz
cd harbor
vi harbor.yml
○ hostname:设置 Harbor 的主机名,没有域名就设置本机的ip。
○ http.port:端口,默认80,可以修改。
○ https:没有证书,需要注释掉https。
○ harbor_admin_password:设置管理员密码。
2、部署
# 运行
sudo ./install.sh
# 登录
ip:port
我的是http://192.168.255.132/ (端口为默认的80)
管理员账号密码 admin Harbor12345
登录之后可以新建用户、新建项目等
设置是否公开项目
3、测试
# 设置docker配置文件
# 主要添加insecure-registries,设置为ip:port。(默认端口为80时,则只需要设置ip)
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://c12xt3od.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.255.132"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
# 重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
# 登录私库,也可换成新建的用户
docker login -u admin -p Harbor12345 192.168.255.132
# 上传镜像
# 这里使用的是mysql:8.0做测试
docker pull mysql:8.0
docker tag mysql:8.0 192.168.255.132/library/mysql:8.0
docker push 192.168.255.132/library/mysql:8.0
# 在其他服务器上。先设置docker配置文件(参考上文)、登录、再pull
docker login -u admin -p Harbor12345 192.168.255.132
docker pull 192.168.255.132/library/mysql:8.0