搭建私有镜像仓库 harbor

admin 2025年2月25日20:17:44评论22 views字数 3431阅读11分26秒阅读模式
docker下载镜像,容器部署很方便。但是一直从官网下载,浪费流量,遇上网络波动可能半天都下不好。有没有什么解决的办法吗?有的,兄弟有的。可以搭建私有镜像仓库,设置镜像缓存,第一次下载镜像的时候,自动保存在仓库中,第二次下载直接从仓库中取。
搭建私有镜像仓库 harbor

声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途给予盈利等目的,否则后果自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢

搭建私有镜像仓库 harbor

环境准备

我是在虚拟机中部署的harbor,比较方便。虚拟机一键化,可以看之前的vagrant文章。

  • ubuntu22
  • harbor

https://github.com/goharbor/harbor

搭建私有镜像仓库 harbor

环境搭建

安装docker

root 权限下

删除docker的所有包

apt-get autoremove docker docker-ce docker-engine  docker.io  containerd runc

删除相关插件

apt-get autoremove docker-ce-*

查看docker是否卸载干净

dpkg -l | grep dockerdpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

删除docker配置目录

rm -rf /etc/systemd/system/docker.service.drm -rf /var/lib/docker

安装docker安装必要支持

sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release#添加 Docker 官方 GPG keycurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg#添加 apt 源:#Docker官方源echo"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudotee /etc/apt/sources.list.d/docker.list > /dev/null#更新源sudo apt updatesudo apt-get update#安装最新版本的Dockersudo apt install docker-ce docker-ce-cli containerd.io#查看Docker版本sudo docker version#查看Docker运行状态sudo systemctl status docker

安装harbor

解压

mkdir /opt/dockertar zxvf harbor-offline-installer-v2.12.2.tgz -C /opt/docker/

配置 Harbor

cd /opt/docker/harbor/# 创建 harbor.yml 文件cp harbor.yml.tmpl harbor.yml# 修改 harbor.yml 文件,只修改部分内容,将部分内容注释vim harbor.yml

修改内容

vim harbor.yml# 修改 hostname 的值,如果没有域名就使用本机IP地址hostname:192.168.56.31# 配置启动端口号http:    port:30000# 如果没有申请证书,需要隐藏 https# 启动成功后,admin 用户登录密码harbor_admin_password: Harbor12345# 指定数据存储路径data_volume:/opt/data
搭建私有镜像仓库 harbor

如果外网可访问,一定要修改成只有自己知道的强密码。

搭建私有镜像仓库 harbor

启动 Harbor

./install.sh

访问 http://192.168.56.31:30000/

搭建私有镜像仓库 harbor
搭建私有镜像仓库 harbor

私有仓库使用

在我们需要docker下载镜像的系统上,配置docker

修改 docker 配置文件

## 切换目录# cd /etc/docker/## 备份文件# cp daemon.json daemon.json.old# vim /etc/docker/daemon.json##### content #####{"insecure-registries" : ["192.168.56.31:30000"],"allow-nondistributable-artifacts": ["192.168.56.31:30000"]}##### / ###### systemctl restart docker## 注意:在这里遇到一个问题,重启 docker 服务后,部分 harbor 起不来,可以使用 ./install.sh 来解决

登录 Harbor

docker login -u admin -p Harbor12345 http://192.168.52.55:30000

配置仓库

http://192.168.56.31:30000/harbor/registries

DockerHub
搭建私有镜像仓库 harbor

如果无法直接连接,可能要配置代理编辑 harbor.yaml 配置文件,找到 proxy

proxy:  http_proxy: http://192.168.xx  https_proxy: http://192.168.xx  no_proxy: localhost,core.harbor.domain,127.0.0.1  components:#需要使用代理的组件    - core    - jobservice    - trivy

然后重新读取配置并重启

docker compose down -vvim harbor.yml./preparedocker compose up -d
搭建私有镜像仓库 harbor

注意,如果是有多人使用,就不要点公开了

搭建私有镜像仓库 harbor

测试

将Harbor仓库地址添加为Docker信任列表

# 编辑 /etc/docker 下的daemon.json文件{"registry-mirrors": ["http://192.168.56.31:30000/"],"insecure-registries":["192.168.56.31:30000"]}# 然后重启Dockersystemctl restart docker

拉取镜像

docker pull 192.168.56.31:30000/dockerhub/mysql:latest
搭建私有镜像仓库 harbor
搭建私有镜像仓库 harbor

可以看到dockerhub当中,存在mysql的缓存信息,后续就可以直接从harbor上拉取。

harbor开机自启动

vim /usr/lib/systemd/system/harbor.service

配置

[Unit]Description=HarborAfter=docker.service systemd-networkd.service systemd-resolved.serviceRequires=docker.serviceDocumentation=http://github.com/vmware/harbor[Service]Type=simpleRestart=on-failureRestartSec=5ExecStart=/usr/bin/docker-compose -f /opt/docker/harbor/docker-compose.yml upExecStop=/usr/bin/docker-compose -f /opt/docker/harbor/docker-compose.yml down[Install]WantedBy=multi-user.target
sudo systemctl enable harborsudo systemctl status harbor

参考资料

  • ubuntu下完全卸载重装docker教程 https://www.cnblogs.com/Johnyzh/p/17901181.html
  • Ubuntu 22.04下Docker安装 https://blog.csdn.net/u011278722/article/details/137673353
  • https://mp.weixin.qq.com/s/Zxlz4-GrdE9BJfVOuN1TBg
  • Docker 容器设置自启动 https://blog.csdn.net/Hu_wen/article/details/110521804
  • Harbor使用DockerHub进行代理缓存 https://juejin.cn/post/7309158089374187571
  • harbor 仓库配置外网代理 https://blog.csdn.net/weixin_59526725/article/details/139770864
  • docker版harbor开机自启 https://cloud.tencent.com/developer/article/2159179
  • VirtualBox复制虚拟机 https://blog.csdn.net/luo15242208310/article/details/121581827
  • 怎么在virtualbox中设置虚拟机的mac地址 https://jingyan.baidu.com/article/54b6b9c026cb5d6c583b47c7.html

原文始发于微信公众号(进击的HACK):搭建私有镜像仓库 harbor

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月25日20:17:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   搭建私有镜像仓库 harborhttps://cn-sec.com/archives/3773354.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息