- 文档首页
镜像仓库
镜像仓库 CR
最佳实践
镜像推拉
通过 Nerdctl 推拉镜像
通过 Nerdctl 推拉镜像
镜像仓库支持通过命令行完成镜像的推送和拉取等操作。本文介绍如何通过主流命令行工具 nerdctl 在镜像仓库推拉镜像。
前提条件
您需要先获取镜像仓库实例的访问域名、镜像仓库命名空间名称、OCI 制成品仓库名称等参数信息,然后结合 nerdctl 命令完成镜像推拉的操作。
- 已创建镜像仓库标准版实例,并获取实例的访问域名,详情参见 购买标准版实例。
- 已创建镜像仓库命名空间,并获取命名空间名称,详情参见 创建命名空间。
说明
本文以 macOS 系统为例,为您介绍通过 nerdctl 使用镜像仓库的方法。macOS 不支持直接使用 nerdctl,需要通过 lima 提供的虚拟机配合使用,详情参见 nerdctl/macOS。 第一步:登录镜像仓库实例
获取镜像仓库实例的登录账号、密码和访问域名后,即可通过以下命令登录实例。
lima nerdctl login --username=[Username] --paasword=[Password] [Access domain name]
执行命令示例
lima nerdctl login --username=*****@210013**** --paasword=******* enterprise-1-cn-guangzhou.cr.volces.com
执行结果实例
显示 Login Succeeded 即表示登录成功。
WARN[0000] WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING: Your password will be stored unencrypted in /home/bytedance.linux/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
第二步:获取镜像 ID
推送镜像和拉取前,都需要提前获取目标镜像的 ID,如示例中 IMAGE ID 列的 e3b7de64****。
执行命令
执行结果示例
REPOSITORY TAG IMAGE ID CREATED PLATFORM SIZE BLOB SIZE
nginx alpine e3b7de64**** About an hour ago linux/amd64 26.4 MiB 9.8 MiB
第三步:设置镜像版本号
创建一个别名镜像归入目标 OCI 制品仓库,并设置版本号。例如本示例中的 enterprise-1-cn-guangzhou.cr.volces.com/vpc-****/vpc-j7w2****:nerdctl。
执行命令
lima nerdctl tag [ImageId] [Access domain name]/[Namespace]/[OCI repository name]:[Image tag]
执行命令示例
lima nerdctl tag e3b7de64**** enterprise-1-cn-guangzhou.cr.volces.com/vpc-****/vpc-j7w2****:nerdctl
执行结果示例
执行完成后即可看到目标 OCI 制品仓库中新增的镜像,并设置了 TAG nerdctl。
REPOSITORY TAG IMAGE ID CREATED PLATFORM SIZE BLOB SIZE
nginx alpine e3b7de64**** About an hour ago linux/amd64 26.4 MiB 9.8 MiB
enterprise-1-cn-guangzhou.cr.volces.com/vpc-****/vpc-j7w2**** nerdctl e3b7de64**** 10 seconds ago linux/amd64 26.4 MiB 9.8 MiB
第四步:推送镜像
将已归类的镜像推送至镜像仓库。
执行命令
lima nerdctl push [Access domain name]/[Namespace]/[OCI repository name]:[Image tag]
执行命令示例
lima nerdctl push enterprise-1-cn-guangzhou.cr.volces.com/vpc-****/vpc-j7w2****:nerdctl
执行结果示例
执行完成以后,即可在控制台查看已推送的镜像。
第五步:拉取镜像
成功登录镜像仓库后,也可以从镜像仓库中拉取已托管的镜像。
执行命令
lima nerdctl pull [Access domain name]/[Namespace]/[OCI repository name]:[Image tag]
执行命令示例
lima nerdctl pull enterprise-1-cn-guangzhou.cr.volces.com/vpc-****/vpc-j7w2****:latest
执行结果示例
REPOSITORY TAG IMAGE ID CREATED PLATFORM SIZE BLOB SIZE
nginx alpine e3b7de64**** 2 days ago linux/amd64 26.4 MiB 9.8 MiB
enterprise-1-cn-guangzhou.cr.volces.com/vpc-****/vpc-j7w2**** latest b04121cfcd5d 28 seconds ago linux/amd64 1.3 MiB 773.3 KiB
enterprise-1-cn-guangzhou.cr.volces.com/vpc-****/vpc-j7w2**** nerdctl e3b7de64**** 2 days ago linux/amd64 26.4 MiB 9.8 MiB
最近更新时间:2025.08.26 11:55:01