镜像仓库Harbor手动推送/拉取镜像到Harbor

🌟镜像操作核心原理  
① Harbor镜像命名规范  
[仓库地址]/[项目名]/[镜像名]:[标签]  
# 示例  
192.168.145.129:80/dev-team/nginx:v1.8  

⚠️ 关键点:  

  • 必须包含项目名(如dev-team)  

  • 默认库项目名为library(可省略)  

② 操作流程全景图  

③ 权限验证机制  

🔑 每次操作需通过:  

docker login [Harbor地址] -u [用户] -p [密码]  

凭证自动保存到~/.docker/config.jso~/.docker/config.jsonn


🛠️四步镜像操作指南  
① 准备测试镜像  
# 拉取官方镜像  
docker pull nginx:1.25-alpine  

# 创建测试镜像  
docker tag nginx:1.25-alpine my-nginx:v1  

② 打Harbor专属标签  
# 格式:docker tag [源镜像] [Harbor路径]/[项目]/[镜像名]:[标签]  
docker tag my-nginx:v1 192.168.145.129:80/dev-project/nginx:prod-v1  

✅ 验证标签:  

docker images | grep nginx  
# 输出:  
# 192.168.145.129:80/dev-project/nginx   prod-v1       501d84f5d064   13 months ago   48.3MB

③ 推送镜像到Harbor  
# 登录Harbor(首次操作需执行)  
docker login 192.168.145.129:80 -u dev-user -p [密码]  

# 推送镜像  
docker push 192.168.145.129:80/dev-project/nginx:prod-v1  

📌 成功标志:  

prod-v1: Pushed  
latest: digest: sha256:61c... size: 1989  
④ 从Harbor拉取镜像  
# 新机器首次操作  
docker login 192.168.145.129:80 -u readonly-user -p [密码]  

# 拉取镜像  
docker pull 192.168.145.129:80/dev-project/nginx:prod-v1  

# 运行测试  
docker run -d-p8088:80 192.168.145.129:80/dev-project/nginx:prod-v1  

image-20250607002015711


🔍【高阶操作】  
① 批量推送镜像脚本  
#!/bin/bash  
IMAGES=("nginx:1.25""redis:7.0""mysql:8.0")  

for img in"${IMAGES[@]}"  
do  
  docker pull $img  
  docker tag $img192.168.145.129:80/base-library/${img%%:*}  
  docker push 192.168.145.129:80/base-library/${img%%:*}  
done  
② 镜像删除与回收  
# 需项目维护人员权限  
docker rmi 192.168.145.129:80/dev-project/nginx:prod-v1  

# Harbor网页端操作:  
1. 进入项目 → 镜像仓库  
2. 选择目标镜像 → 删除  


🚨【故障排查】  
❌ 错误1:x509: certificate signed by unknown authority  

解决方案:  

# 添加Harbor证书到Docker信任列表  
mkdir-p /etc/docker/certs.d/192.168.145.129:443
scp harbor-server:/data/cert/server.crt /etc/docker/certs.d/192.168.145.129:443/  
systemctl restart docker  
❌ 错误2:denied: requested access to the resource is denied  

原因分析:  

  • 用户未加入项目  

  • 角色权限不足(如访客尝试推送)解决步骤:  

  1. Harbor控制台 → 项目 → 成员 → 添加用户  

  2. 分配维护人员以上角色  


💡【最佳实践】  

镜像命名规范

[项目]/[环境]-[服务名]-[版本]  
示例:  
order-service/prod-payment-api-v3.2  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值