目录
搭建镜像仓库
harbor 基础
harbor 使用
搭建镜像仓库
harbor 基础
Docker 镜像仓库自建仓库的必要性
默认第三方提供的镜像仓库在海外, 例如 https://hub.docker.com/, 太慢了, 所以我们要自己搭建
第三方镜像仓库一般不允许有太多的私有镜像
Harbor 镜像仓库的搭建前提条件:
需要安装 docker
需要有 docker-compose
Harbor 离线版安装下载地址
下载离线安装的版本, 上传到服务器, 解压 https://github.com/goharbor/harbor/releases
安装命令
- tar -zxf harbor-offline-installer-v1.8.0.tgz
- mv harbor /usr/local/
- // 配置更改 harbor.YAML
- hostname: 192.168.80.61 #主要名随便起
- harbor_admin_password: Harbor12345 #在初始登录时密码最好保持默认, 不然老是提示用户名密码错误!
- // 安装 Harbor, 并验证
- ./install.sh
- docker-compose ps
访问 Harbor, 默认用户名 admin, 打开后的界面如下:
- //Harbor 的重启
- docker-compose down
- docker-compose up -d
为了安全, 建议关闭注册
在 web 界面的操作都会被保存到宿主机上, 所以不用担心数据丢失问题.
harbor 使用
仅安装好了之后, 里面啥也没有, 我们接下来要做什么呢? 我们要把已经定义好的镜像上传到 harbor 里面, 通过什么方式上传呢? 常用的有两种方式: https 和 http,https 稍微复杂一点, 我们只介绍通过 http 协议如何上传, 默认是 https, 所以先要将上传的方式改为 http.
原来我们使用的是 163 的 docker 仓库, 现在再加一行, 定义一个自己的仓库, 如下所示:
配置允许访问 http 仓库 etc/docker/daemon.JSON, 注意后面还有一个逗号, 192.168.80.61 就是 harbor 所在的主机 IP, 与 docker 所在的主机是一台主机.
- {
- "registry-mirrors": ["http://hub-mirror.c.163.com/","http://192.168.80.61/"],
- "insecure-registries":["http://192.168.80.61"]
- }
- // 重启 docker, 注意要在 harbor 目录操作才生效
- systemctl restart docker ; docker-compose down ; docker-compose up -d;
推送镜像到自建仓库
Harbor 上创建一个项目 zhanghe
// 先登录 docker
需要先登录到 Harbor: docker login 192.168.80.61
- // 重命名镜像
- docker tag CentOS:nginx 192.168.80.61/zhanghe/zhanghe:nginx
- // 推送镜像到 harbor, 效果如下所示:
- docker push 192.168.80.61/zhanghe/zhanghe:nginx
再一台虚拟机, 安装上 docker,etc/docker/daemon.JSON 的内容与镜像仓库里面保持一致, 修改好了之后别忘记重启 docker.
- // 拉取私有镜像需要先登录
- docker pull 192.168.80.61/zhanghe/zhanghe:nginx
- //Harbor 重启镜像不会丢失, 因为都存放本地了, 在配置文件里面可看详细路径.
- docker-compose down
- docker-compose up -d
来源: http://www.bubuko.com/infodetail-3402032.html