docker registry push 覆盖_harbor搭建——私有企业级Docker镜像Registry仓库

继:Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署harbor企业级Registry仓库与Kubernetes服务编排(下一章节)

docker registry push 覆盖_harbor搭建——私有企业级Docker镜像Registry仓库_第1张图片

本章先搭建harbor企业级Registry仓库环境

harbor是VMware公司开源的企业级的Docker Registry管理项目。

根据Harbor官方描述:Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

一、harbor的配置安装

1、下载harbor

harbor下载地址:https://github.com/vmware/harbor

2、配置修改docker-compose.yml和harbor.cfg两个文件

在公网上,一般情况下都不暴露默认端口,避免被攻击!

以下修改harbor的默认80端口为其他端口!

这里示例修改为8015端口

解压

tar -xvf harbor-offline-installer-v1.7.5.tgz

解压之后有 harbor 文件夹,进入harbor

cd harbor

进入harbor.cfg修改hostname

vi harbor.cfg

注意: 这里可以写 IP地址,也可以写域名,写域名需确保 DNS 可以解析

 #vim docker-compose.yml ## Configuration file of Harbor#The IP address or hostname to access admin UI and registry service.#DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.hostname = 自定义域名或IP:8015#The protocol for accessing the UI and token/notification service, by default it is http.

修改docker-compose.yml文件映射为8015端口:

vi docker-compose.yml

 #vim docker-compose.yml  proxy: image: nginx:1.11.5 container_name: nginx restart: always volumes: - ./common/config/nginx:/etc/nginx ports: - 8015:80 - 1143:443 depends_on: - mysql - registry - ui - log

修改完成之后,使用官方自带脚本更新参数,在harbor目录中执行./prepare

执行安装脚本:在harbor目录中执行 ./install.sh

docker registry push 覆盖_harbor搭建——私有企业级Docker镜像Registry仓库_第2张图片
docker registry push 覆盖_harbor搭建——私有企业级Docker镜像Registry仓库_第3张图片

执行最后出现 “Harbor has been installed and started successfully”表示安装成功。

docker registry push 覆盖_harbor搭建——私有企业级Docker镜像Registry仓库_第4张图片

安装完成后会生成如下7个容器

到此便安装完成了,直接打开浏览器访问地址:harbor.cfg修改的hostname 登陆即可:

默认用户密码是:admin/Harbor12345

docker registry push 覆盖_harbor搭建——私有企业级Docker镜像Registry仓库_第5张图片

harbor容器的stop与start:

# 停止

docker-compose down -v

# 启动

docker-compose up -d

二、使用私有仓库push和pull镜像(上传,拉取镜像)

1、docker默认是从官方拉取镜像的,并且从1.12版本之后,默认私有仓库是使用https来进行连接,所以我们这里需要进行一些相应的修改:

在docker主机修改docker启动文件,在启动命令后加入参数:--insecure-registry ip:端口号

vi /etc/docker/daemon.json

json格式如:

{

"insecure-registries": ["配置的IP:8015"]

}

修改完成后重启docker执行命令:

systemctl daemon-reload

systemctl restart docker.service

测试验证执行命令:

docker login -u admin -p Harbor12345 配置的IP:8015

如果出现“ Login Succeeded”提示 表示正确的添加信任关系包括端口号。

2、使用docker命令对镜像打标签并且上传至私有仓库

docker tag java:8 配置的IP:8015/cloud-service-test/java:8

docker push 配置的IP:8015/cloud-service-test/java:8

如下图提示表示成功上传到企业私有镜像仓库:

docker registry push 覆盖_harbor搭建——私有企业级Docker镜像Registry仓库_第6张图片

进入私有镜像仓库管理中心界面查看

docker registry push 覆盖_harbor搭建——私有企业级Docker镜像Registry仓库_第7张图片

你可能感兴趣的:(docker,registry,push,覆盖,window,docker,查看镜像仓库,wm,harbor,默认密码)