镜像搬运工 skopeo简单用法
https://blog.51cto.com/u_16099262/6928212
https://blog.csdn.net/easylife206/article/details/125093122
https://github.com/containers/skopeo
1 安装
dnf -y install skopeo
- 本地搭建私有仓库
#安装docker
dnf install docker
#下载并启动一个register容器,创建本地私有仓库
docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
列出私有仓库所有镜像
curl http://10.24.9.97:5000/v2/_catalog
返回:{"repositories":["influxdb"]}
浏览器访问:http://10.24.9.97:5000/v2/_catalog
3.修改docker配置文件
vim /etc/docker/daemon.json
{
"insecure-registries": ["10.24.9.97:5000"]
}
重启docker:systemctl restart docker
4.登陆dockerhub仓库
在使用 skopeo 前如果 src 或 dest 镜像是在 registry 仓库中的并且配置了非 public 的镜像需要相应的 auth 认证, 此时我们可以使用 docker login
或者 skopeo login
的方式登录到 registry 仓库,然后默认会在~/.docker
目录下生成 registry 登录配置文件 config.json ,该文件里保存了登录需要的验证信息,skopeo 拿到该验证信息才有权限往 registry push 镜像。
docker login #输入用户名密码
或者skopeo login docker.io
会生成登陆配置文件保存在.docker/config.json中,类似下面
# cat ~/.docker/config.json
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "cHNoeW1zOnNoaXlhbjgyMw=="
}
}
}#
5.skopeo copy-镜像拷贝
远端镜像地址:docker.io/pshyms/influxdb:latest
1)首先拷贝到本地仓库
skopeo copy docker://docker.io/pshyms/influxdb:latest docker://10.24.9.97:5000/influxdb:v1 --src-tls-verify=false --dest-tls-verify=false
命令中的tls-verify=false是为了解决https和http传输时不兼容报错的问题
2)也可以拷贝到本地目录,/tmp/mytest目录要先创建
skopeo copy --insecure-policy --src-tls-verify=false docker://docker.io/pshyms/influxdb:latest dir:/tmp/mytest/influxdb
6.镜像同步-skopeo sync
1)从本地镜像仓库把influxdb所有版本镜像,同步到本地目录/tmp中
skopeo sync --insecure-policy --src-tls-verify=false --src docker --dest dir 10.24.9.97:5000/influxdb /tmp/influx
2)从本地/tmp目录同步到docker的hub仓库中的pshyms用户下
skopeo sync --insecure-policy --dest-tls-verify=false --src dir --dest docker /tmp/influx pshyms
此时登陆docker,即可看到influx:v1这个镜像
努力生活,融于自然
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2022-11-24 django前端显示图片
2020-11-24 pymongo统计数据库并写入excel