day106 镜像仓库harbor,registry

day106 企业级镜像仓库harbor

以后你会听见很多的微服务的概念

就是一个个运行的容器称之为一个一个的微服务

1. 下载harbor的软件包,yml文件,提供给docker-compose去部署


2.获取harbor的包
2.获取harbor的包
[root@docker-200 /docker-gitlab]#cd /docker-harbor/
[root@docker-200 /docker-harbor]#
[root@docker-200 /docker-harbor]#ls
harbor-offline-installer-v1.9.0-rc1.tgz
[root@docker-200 /docker-harbor]#
[root@docker-200 /docker-harbor]#tar -zxf harbor-offline-installer-v1.9.0-rc1.tgz 

3.查看解压的文件,是否要修改相关参数
[root@docker-100 harbor]# ll
total 605144
-rw-r--r-- 1 root root 619632806 Sep  4  2019 harbor.v1.9.0.tar.gz
-rw-r--r-- 1 root root      5805 Sep  4  2019 harbor.yml
-rwxr-xr-x 1 root root      5088 Sep  4  2019 install.sh
-rw-r--r-- 1 root root     11347 Sep  4  2019 LICENSE
-rwxr-xr-x 1 root root      1748 Sep  4  2019 prepare
## harbor.yml 是软件的配置文件
## 更多基于容器,k8s下的部署软件,配置文件基本都是以yaml居多

# 修改部分参数
# harbor软件运行再容器里,映射暴露给宿主机去访问
# yaml 字典语法

hostname: 10.0.0.100
harbor_admin_password: 123123

# 一键自动化安装脚本  
1.检查版本
[root@docker-100 harbor]# docker-compose --version 
docker-compose version 1.18.0, build 8dd22a9

修改配置,支持http的镜像仓库

[root@docker-100 harbor]# cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://42240640f9ff42f692a2468126dfdf90.mirror.swr.myhuaweicloud.com",
	"https://docker.m.daocloud.io"	
],
 "insecure-registries":["http://10.0.0.100"]

}


[root@docker-200 /docker-harbor/harbor]#systemctl daemon-reload
[root@docker-200 /docker-harbor/harbor]#
[root@docker-200 /docker-harbor/harbor]#
[root@docker-200 /docker-harbor/harbor]#systemctl restart docker
[root@docker-200 /docker-harbor/harbor]#


[root@docker-200 /docker-harbor/harbor]#docker start `docker ps -aq`

创建私有镜像仓库

如何推送本地镜像,到企业级docker镜像仓库harbor中

一样要修改镜像tag,指定项目地址


docker tag SOURCE_IMAGE[:TAG] 10.0.0.100/linux0224/IMAGE[:TAG]

[root@docker-100 /]# docker tag t1-nginx:latest 10.0.0.100/linux0224/t1-nginx:latest


# 登录docker harbor
docker login 10.0.0.100

docker push 10.0.0.100/linux0224/IMAGE[:TAG]



# 推送镜像
[root@docker-200 /docker-harbor/harbor]#docker push 10.0.0.200/linux0224/t1-flask-redis


# 下载私有镜像
[root@docker-200 /docker-harbor/harbor]#docker run 10.0.0.200/linux0224/t1-flask-redis:latest

registry纯API的仓库

访问某个url,即可看见镜像数据信息
以及根据url,基于不通的请求方式,就可以推送数据,下载数据,比如查询数据

就是镜像信息,这就是一个API


# 官方提供啦一个镜像来搭建这个registry 
docker pull registry 


# 启动容器
docker run -d \
      --name linux0224_registry \
      --restart=always \
    -p 5000:5000 \
    -v /data/registry:/var/lib/registry \
    registry
    
    
# 1.确保接口可以访问
[root@docker-100 docker]# curl http://10.0.0.100:5000/ -I
HTTP/1.1 200 OK
Cache-Control: no-cache
Date: Sat, 24 May 2025 14:54:05 GMT


# 2.推送本地镜像到私有registry
修改镜像tag,制定为本地私有镜像仓库api


docker tag ubuntu:latest  10.0.0.100:5000/ubuntu:latest


# 尝试推镜像
docker  push 10.0.0.100:5000/ubuntu:latest
发现不行
修改docker的配置文件,加入私有registry,改为非安全模式的镜像地址
是因为docker一般是以https推送的
{
  "registry-mirrors": ["https://42240640f9ff42f692a2468126dfdf90.mirror.swr.myhuaweicloud.com",
	"https://docker.m.daocloud.io"	],
	"insecure-registries":["http://10.0.0.100:5000",]
}

重启docker 

systemctl daemon-reload

systemctl restart docker


# 在次推送镜像
[root@docker-100 docker]# 
[root@docker-100 docker]# docker push 10.0.0.100:5000/ubuntu:latest
The push refers to repository [10.0.0.100:5000/ubuntu]
8901a649dd5a: Pushed 
latest: digest: sha256:a2d4081f8adf7293bc61b3b9b5d4fc8b982ddbbca844224535426eb85d3871a9 size: 529



# 查询私有仓库的api的接口

[root@docker-100 docker]# curl 10.0.0.100:5000/v2/_catalog
{"repositories":["ubuntu"]}


# 下载该镜像
docker pull 10.0.0.100:5000/ubuntu
# 利用ubuntu打印一句话

[root@docker-100 docker]# docker run 10.0.0.100:5000/ubuntu echo"加油各位,大家都是好样的,为了最后的胜利,加油没有说明可以阻挡我们 的脚步。"
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "echo加油各位,大家都是好样的,为了最后的胜利,加油没有说明可以阻挡我们的脚步。": executable file not found in $PATH: unknown.
[root@docker-100 docker]# 

官方提供registry仓库的API接口规则文档

https://docs.docker.com/registry/spec/api/#listing-repositories

posted @ 2025-05-24 16:15  国家一级冲浪yzk  阅读(16)  评论(0)    收藏  举报