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
至此镜像上传成功。
2.拉取镜像
登录账号(跟上传镜像那里一样操作登录步骤就可以了)
如果不是用管理员admin账号,那么需要将该新增的账号添加到相对应的项目里面去。
设置完之后该账号就有对该项目下的所有镜像有着相应角色的权限
五种角色相对应的权限如下:
- 项目管理员(Project Admin):管理项目中的镜像和成员。可以添加和删除项目成员,设置成员的角色和权限。可以推送和拉取镜像。
- 维护人员(Maintainer):拥有项目管理员的所有权限。还可以审核镜像的提交,即可以审核其他开发者推送的镜像。
- 开发者(Developer):可以推送和拉取镜像。可以创建构建任务,对镜像进行构建、测试和审核。
- 访客(Guest):只能拉取镜像。不能推送镜像,也不能访问未公开的或者没有权限的项目的镜像。
- 受限访客(Restricted Guest):也只能拉取镜像。与访客的区别在于,受限访客只能拉取仓库中标记为“public”的镜像。
拉取镜像
docker pull 192.168.18.150/chenlf/nginx:1.0.0