首页 > 技术文章 > Harbor仓库搭建及本地镜像推送官方仓库

wang-yy 2020-05-10 11:03 原文

官方仓库

$ hub.docker.com # docker官方仓库
$ https://c.163yun.com # 阿里云仓库

将本地镜像推送到docker官方仓库

创建一个私有官方仓库

docker push wangyongyulinux/tomcat-v1:tagname

制作一个镜像

# 引用前面的文章里的镜像,镜像制作地址为:
$ https://www.cnblogs.com/wang-yy/p/14507649.html
$ docker images # 查看是否有wyylinux/tomcat:v1镜像

更改镜像的标签

$ docker tag wyylinux/tomcat:v1 wangyongyulinux/tomcat-v1:v1

做官方认证

$ docker login
	username:wangyongyulinux
	password:.........
# 默认登录docker 官方仓库,若是其他的仓库则需要添加仓库的地址(registry.cn-hangzhou.aliyuncs.com)

推送至私有官方仓库

$ docker push wangyongyulinux/tomcat-v1:v1

私有仓库

Harbor - 企业级 Docker 私有仓库

Harbor说明

(1)proxy:由nginx服务器构成的反向代理
(2)registry:由docker官方的开源registry镜像构成的容器实例
(3)UI:即架构中的core services,构成此容器的代码是harbor项目的主体
(4)MySQL:由官方MySQL镜像构成的数据库容器
(5)log:运行着rsyslogd的容器,通过log-driver的形式收集其他容器的日志

安装docker

# 参考前几篇文章,地址:
$ https://www.cnblogs.com/wang-yy/p/14489468.html

安装docker-compose

# 参考前几篇文章,地址:
$ https://www.cnblogs.com/wang-yy/p/14502718.html

下载好harbor安装包

# 安装底层需求
	Python应该是2.7或更高版本
	$ python # 检查版本
	Docker引擎应为1.10或更高版本
	DockerCompose需要为1.6.0或更高版本
	$ docker-compose version
# Harbor 官方地址
	$ https://github.com/vmware/harbor/releases
# 解压软件包
	1)tar -xvf harbor-offline-installer-<version>.tgz 							
        2)https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz # 本次选择此版本

解压,并修改配置文件

$ tar -zxvf harbor-offline-installer-v1.2.0.tgz
$ mv harbor /usr/local
$ cd /usr/local/harbor
$ ls
# 修改配置文件
$ vim harbor.cfg
	hostname = hub.wyy.com 	# 目标的主机名或者完全限定域名
	ui_url_protocol = https	# http或https。默认为 http
	db_password # 用于db_auth的MySQL数据库的根密码。
	max_job_workers # (默认值为 : 3)作业服务中的复制工作人员的最大数量。根据主机的硬件资源,仔细选择该属性的值
	customize_crt #(: on或off。默认为 。 on)当此属性打开时, ) prepare脚本将为注册表的令牌的生成 脚 /验证创 验 建私钥和根证书
	ssl_cert # SSL证书的路径,仅当协议设置为https时才应用
	ssl_cert_key # SSL密钥的路径,仅当协议设置为https时才应用
	secretkey_path # 用于在复制策略中加密或解密远程注册表的密码的密钥路径

创建证书及相关配置

# 创建证书存放目录
$ mkdir -p /data/cert/
$ cd /data/cert/
# 创建证书文件(需购买官方证书)
$ openssl genrsa -des3 -out server.key 2048
$ openssl req -new -key server.key -out server.csr
$ cp server.key server.key.org
# 解密
$ openssl rsa -in server.key.org -out server.key
# 把私钥切换证书
$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
# 查看是否生成证书文件
$ ls
$ chmod -R 777 /data/cert
# 查看证书位置,是否和配置文件相对应
$ cat /usr/local/harbor/harbor.cfg | grep cert

运行脚本安装

$ cd /usr/local/harbor/
$ ./install.sh

添加镜像仓库地址

$ vim /etc/hosts
	192.168.66.112 hub.wyy.com # 添加服务器ip地址、主机名映射
# 指定镜像仓库地址:	
$ vim /etc/docker/daemon.json 
	# {"insecure-registries": ["serverip"] }配置文件中添加(强制信任)
	{"insecure-registries": ["hub.wyy.com"] }
# 重启docker使其生效
$ systemctl restart docker

修改本机的hosts文件

# 添加
192.168.66.112 hub.wyy.com 

浏览器登录测试

$ hub.wyy.com
# 默认管理员用户名密码为admin /Harbor12345

上传镜像测试是否可以使用

# 登录仓库后,点击推送镜像复制
# docker tag SOURCE_IMAGE[:TAG] hub.wyy.com/library/IMAGE[:TAG]
$ docker images
# 引用前面的文章里的镜像,镜像制作地址为:
$ https://www.cnblogs.com/wang-yy/p/14507649.html
$ docker tag wyylinux/tomcat:v1  hub.wyy.com/library/tomcat:v1
# 认证仓库
$ docker login hub.wyy.com
	username:admin
	password:.........
# 推送至仓库
$ docker push hub.wyy.com/library/tomcat:v1

测试访问

$ docker run --name tomcat -p 80:8080 -d hub.wyy.com/library/tomcat:v1

推荐阅读