harbor仓库镜像上传与拉取

  • 1.上传镜像
  • 修改 daemon.json 配置文件
  • 上传镜像至harbor
  • 2.拉取镜像
  • 登录账号(跟上传镜像那里一样操作登录步骤就可以了)
  • 拉取镜像



环境:centos7

1.上传镜像

修改 daemon.json 配置文件

# 编辑daemon.json文件,添加insecure-registries配置
# 添加HarBor仓库地址,该步骤用于让docker信任HarBor仓库地址,
vi /etc/docker/daemon.json
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com","https://reg-mirror.qiniu.com","https://registry.docker-cn.com"],
  "insecure-registries": ["harbor.yml配置文件中设置的hostname:http端口"]
}
# 例如: "insecure-registries": ["192.168.18.150"]
# 修改后保存并重启docker
systemctl restart docker
# 我这里重启完之后访问不到harbor了所以也重启了下harbor(可能是虚拟机本身有问题)

上传镜像至harbor

# 查询当前环境有哪些镜像(测试使用,所以随便找一个就行)
docker images
# 修改镜像标签(这里以harbor中的nginx镜像为例)
# docker tag 镜像名 harbor.yml中配置的hostname:http端口号/harbor项目名称/镜像名:版本号 (如果不加版本号,默认会是latest)
docker tag nginx 192.168.18.150/chenlf/nginx:1.0.0
# 登录harbor账号密码 ( 可以直接一次性登录:docker login -u admin -p 123456 192.168.18.150 )
docker login 
# 输入用户名和密码(还没自己创建用户就用harbor.yml中默认的admin账号及密码)
Username: chenlf
Password: 输入账号密码
# 登录成功后将镜像进行上传
docker push 192.168.18.150/chenlf/nginx:1.0.0

# 其他命令:退出登录(harbor.yml中配置的hostname:http端口号)
# docker logout 192.168.18.150

至此镜像上传成功。

harbor设置镜像保留个数 harbor页面上传镜像_harbor设置镜像保留个数


harbor设置镜像保留个数 harbor页面上传镜像_笔记_02


harbor设置镜像保留个数 harbor页面上传镜像_上传_03

2.拉取镜像

登录账号(跟上传镜像那里一样操作登录步骤就可以了)

如果不是用管理员admin账号,那么需要将该新增的账号添加到相对应的项目里面去。

设置完之后该账号就有对该项目下的所有镜像有着相应角色的权限

harbor设置镜像保留个数 harbor页面上传镜像_harbor_04


harbor设置镜像保留个数 harbor页面上传镜像_harbor_05


harbor设置镜像保留个数 harbor页面上传镜像_上传_06

五种角色相对应的权限如下

  • 项目管理员(Project Admin):管理项目中的镜像和成员。可以添加和删除项目成员,设置成员的角色和权限。可以推送和拉取镜像。
  • 维护人员(Maintainer):拥有项目管理员的所有权限。还可以审核镜像的提交,即可以审核其他开发者推送的镜像。
  • 开发者(Developer):可以推送和拉取镜像。可以创建构建任务,对镜像进行构建、测试和审核。
  • 访客(Guest):只能拉取镜像。不能推送镜像,也不能访问未公开的或者没有权限的项目的镜像。
  • 受限访客(Restricted Guest):也只能拉取镜像。与访客的区别在于,受限访客只能拉取仓库中标记为“public”的镜像。

拉取镜像

docker pull 192.168.18.150/chenlf/nginx:1.0.0

harbor设置镜像保留个数 harbor页面上传镜像_harbor_07