docker镜像仓库(3)

搭建镜像仓库

harbor基础

Docker镜像仓库自建仓库的必要性

  1. 默认第三方提供的镜像仓库在海外,例如https://hub.docker.com/,太慢了,所以我们要自己搭建

  2. 第三方镜像仓库一般不允许有太多的私有镜像

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.yml
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
原文地址:https://www.cnblogs.com/yizhangheka/p/12247960.html