docker 学习笔记-5
仓库(Repository)是集中存放镜像的地方,仓库分为公开仓库和私有仓库两种形式。
最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。
Docker Hub:https://hub.docker.com/
在国内,阿里云和163也有提供公开仓库,用户也可以在本地网络内创建一个私有仓库。当用户创建了自己的镜像之后就可以使用push命令将它上传到公有或私有仓库,这样其他人只需要从仓库上pull下来就可以了。
阿里云仓库介绍
前面在介绍镜像时,提到过阿里云镜像加速器,阿里云同时也提供docker仓库,下面是阿里云容器镜像服务的介绍
容器镜像服务(Container Registry)提供安全的应用镜像托管能力,精确的镜像安全扫描功能,稳定的国内外镜像构建服务,便捷的镜像授权功能,方便用户进行镜像全生命周期管理。容器镜像服务简化了Registry的搭建运维工作,支持多地域的镜像托管,并联合容器服务等云产品,打造云上使用Docker的一体化体验。
这意味着,我们可以将自己的镜像发布到阿里云中。
案例:推送redis镜像到阿里云
- 在阿里云上创建镜像仓库
我这里先创建了一个命名空间为mt-gfc
,然后再这个命名空间下创建镜像仓库myredis
创建后,获得公网地址:registry.cn-hangzhou.aliyuncs.com/mt-gfc/myredis,点击“管理”可以进入仓库管理页。
后面步骤中的打tag,push推送都要用到这个仓库地址。
- 登录阿里云Docker Registry
root@ubuntu:/home/hui# docker login --username=[您当前阿里云用户名] registry.cn-hangzhou.aliyuncs.com
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
登录成功后,会提示“Login Succeeded”
3. 给镜像打TAG
这里我将本地镜像redis:5.0 打成阿里云TAG 9.9
root@ubuntu:/home/hui# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis 5.0 415381a6cb81 6 days ago 94.9MB
rabbitmq latest e8261c2af9fe 2 weeks ago 125MB
hello-world latest 4ab4c602aa5e 2 months ago 1.84kB
root@ubuntu:/home/hui# docker tag redis:5.0 registry.cn-hangzhou.aliyuncs.com/mt-gfc/myredis:9.9
root@ubuntu:/home/hui# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis 5.0 415381a6cb81 6 days ago 94.9MB
registry.cn-hangzhou.aliyuncs.com/mt-gfc/myredis 9.9 415381a6cb81 6 days ago 94.9MB
rabbitmq latest e8261c2af9fe 2 weeks ago 125MB
hello-world latest 4ab4c602aa5e 2 months ago 1.84kB
tag打包完成后,可以看到本地镜像中新增了registry.cn-hangzhou.aliyuncs.com/mt-gfc/myredis:9.9
4. 将镜像推送到Registry
root@ubuntu:/home/hui# docker push registry.cn-hangzhou.aliyuncs.com/mt-gfc/myredis:9.9
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/mt-gfc/myredis]
3adc2ce40893: Pushed
b05611c60854: Pushed
3eefbad2dc28: Pushed
aa1a19279a9a: Pushed
197ffb073b01: Pushed
237472299760: Pushed
9.9: digest: sha256:93ce9120377effb33fc8ab25cc5fb6ab736982aa4524adb89324c031e47b33ac size: 1572
到这里,我们已经成功将本地镜像上传到了阿里云仓库,假设我们在其他机器上,我们可以方便的将这个镜像下载下来
root@ubuntu:/home/hui# docker pull registry.cn-hangzhou.aliyuncs.com/mt-gfc/myredis:9.9
9.9: Pulling from mt-gfc/myredis
Digest: sha256:93ce9120377effb33fc8ab25cc5fb6ab736982aa4524adb89324c031e47b33ac
Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/mt-gfc/myredis:9.9
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了