搭建本地镜像仓库(Harbor)

搭建本地仓库

docker save -o centos7.9web.tar joe/web:v0.3 # 保存镜像
docker load -i centos7.9web.tar  # 将镜像导入位容器
# 这种当时效率太低了

仓库的种类

官方仓库
	c.163.com 网易仓库
	阿里云仓库
	hub.docker.com
私有仓库
	habor
		

上传至官方库

docker tag joe/web:v0.3 jiecloud/web:v0.1  # 镜像改一个标签 

docker login
	#输入用户名  密码

docker push jiecloud/web:v0.1 # 将镜像上传至官方库
# 如果不登录的话 , 是没有上传权限的

公司内部项目 , 不适合使用官方库 , 使用公司内网仓库更佳

habor的前世今生

docker 官方将镜像制作技术 开源,但是公开的没有图形化, 管理起来效率极低
而且没有身份认证, 

在CNCF的大力支持下, VMware 开源了一个Habor (使用python Django框架)

Habor搭建

一. 安装底层需求
Python应该是2.7或更高版本

Docker引擎应为1.10或更高版本(1.10 指docker企业版, 近似于ce-10版本 )

Docker Compose需要为1.6.0或更高版本

二. 下载Habor

Harbor 官方地址:https://github.com/vmware/harbor/releases

解压软件包:tar xvf harbor-offline-installer-.tgz

Docker要求:

​ HTTPS 协议 443端口

但是docker官方给我们私有镜像仓库是 HTTP协议 5000端口

docker login # 登录成功则 会出现以下认证文件
[root@localhost ~]# cat ~/.docker/config.json 
{
	"auths": {
		"https://index.docker.io/v1/": {
			"auth": "amllY2xvdWQ6P3EzayVfTnZGPzpaWjZW"
		}
	}
	
docker login aliyun.com # 向阿里云发起认证
tar -xf harbor-offline-installer-v1.2.0.tgz
mv harbor /usr/local/ && cd /usr/local/harbor/
vi harbor.cfg
hostname = hub.jiecloud.com
    ui_url_protocol = https
    db_password = root123 # db 的root密码
    max_job_workers = 3 # 下载的并发数
    ssl_cert = /data/cert/server.crt #crt存放目录
    ssl_cert_key = /data/cert/server.key #server.key文件存放目录

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

#安装docker compose
mv docker-compose /usr/local/bin
chmod +x /usr/local/bin/docker-compose
#安装Habor
cd /usr/local/harbor && ./install.sh


#修改hosts 解析


# 浏览器访问成功

默认用户/密码 为admin / Harbor12345

docker仓库客户端

vim /etc/docker/daemon.json
	{
        "insecure-registries": ["hub.jiecloud.com"]
	}
	# 信任此url
	
docker login hub.jiecloud.com # 可以登录成功

docker tag jiecloud/web:v0.1 hub.jiecloud.com/library/web:v0.1
docker push hub.jiecloud.com/library/web:v0.1 # 上传镜像

docker pull hub.jiecloud.com/library/web:v0.1 # 下载镜像
# 查看Harbor -项目 已经收到

docker logout hub.jiecloud.com # 需要加上非官方仓库, 如果不加 则是退出官方仓库

# 私有镜像只能对应管理员自己能下载

Harbor server 端 后期维护

docker-compose -f /usr/local/harbor/docker-compose.yml start/stop  # 启动/关闭Harbor

crontab -e 
*/5 * * * * docker-compose -f /usr/local/harbor/docker-compose.yml start

systemctl restart crond 

posted on 2022-02-10 23:06  joe_HelloWorld  阅读(571)  评论(0编辑  收藏  举报

导航