docker镜像仓库
Posted yizhangheka
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker镜像仓库相关的知识,希望对你有一定的参考价值。
搭建镜像仓库
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.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
以上是关于docker镜像仓库的主要内容,如果未能解决你的问题,请参考以下文章