docker仓库使用+harbor私有仓库部署
Posted mercury-linux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker仓库使用+harbor私有仓库部署相关的知识,希望对你有一定的参考价值。
前言:因为 官方仓库 在国外的原因,我们不容易拉取镜像,可以我们可以使用国内的 Daocloud 镜像仓库和开通 阿里云仓库 或者 Harbor 如果是企业内部也可以使用自己搭建的私有仓库
#第一步:pull官方镜像 docker pull registry #第二步:启动容器 docker run -d -p 5000:5000 -d -p 5000:5000 --restart=always --name=registry -v /opt/myregistry:/var/lib/registry registry #第三步:添加/etc/docker/daemon.json cat /etc/docker/daemon.json { "registry-mirrors": [ "https://1nj0zren.mirror.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn", "http://f1361db2.m.daocloud.io", "https://registry.docker-cn.com" ], "insecure-registries": ["10.0.0.12:5000"] } systemctl restart docker #第四部:上传镜像 打标签: docker tag alpine:latest 10.0.0.12:5000/alpine:latest 上传: docker image push 10.0.0.12:5000/alpine:latest
#登录和退出 docker login docker logout #查找镜像 docker search alpine #拉取 docker pull alpine #推送镜像 docker tag alpine:latest username/alpine:latest docker push username/alpine:latest docker search username/alpine
VMware 在中国的团体开发的
Harbor,是一个英文单词,意思是港湾,Harbor真是一个用于存储Docker镜像的企业级Registry服务。Registry是Docker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到以Registry起的容器的私有仓库中。去也可以根据自己的需求,使用Dockerfile生成自己的镜像,并推到私有仓库中,这样可以大大提高拉取镜像的效率。
组件 | 说明 | 实现 |
Proxy | 用于转发用户的请求到registry/ui/token service的反向代理 | nginx:使用nginx官方镜像进行配置 |
Registry | 镜像的push/pull命令实施功能 | registry:使用registry官方镜像 |
Database | 保存项目/角色/复制策略等信息到数据库中 | harbor-db:Mariadb的官方镜像用于保存harbor的数据库信息 |
Core Service:UI/token/webhook | 用户进行镜像操作的界面实现,通过webhook的机制保证镜像状态的变化harbor能够即使了解以便进行日志更新等操作,而项目用户角色则通过token的进行镜像的push/pull等操作 | harbor-ui等 |
job service | 镜像复制,可以在harbor实例之间进行镜像的复制或者同步等操作 | harbor-jobservice |
Log collector | 负责收集各个镜像的日志信息进行统一管理 |
1. 配置环境
#安装docker yum install docker -y systemctl start docker systemctl enable docker #安装docker-compose yum install docker-compose -y #下载harbor wget https://github.com/goharbor/harbor/releases/download/v1.10.2/harbor-offline-installer-v1.10.2.tgz #解压 tar xf harbor-offline-installer-v1.8.0.tgz cd harbor/ #修改登录密码和主机名 vim harbor.yaml hostname: 10.0.0.12 harbor_admin_password: 123456 ./install.sh
#添加/etc/docker/daemon.json cat /etc/docker/daemon.json { "registry-mirrors": [ "https://1nj0zren.mirror.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn", "http://f1361db2.m.daocloud.io", "https://registry.docker-cn.com" ], "insecure-registries": ["10.0.0.11"] } systemctl restart docker #上传镜像的格式,先打标签在上传 docker tag SOURCE_IMAGE[:TAG] 10.0.0.11/library/IMAGE[:TAG] docker push 10.0.0.11/library/IMAGE[:TAG] #登录仓库 docker login 10.0.0.12 <用户名和密码> #打标签 docker tag alpine:latest 10.0.0.11/library/alpine:latest #上传镜像 docker push 10.0.0.11/library/alpine:latest
以上是关于docker仓库使用+harbor私有仓库部署的主要内容,如果未能解决你的问题,请参考以下文章
Docker------搭建本地私有仓库及Horbor私有仓库