使用镜像注册表和镜像仓库

Snowpark Container Services 提供了 OCIv2 (https://github.com/opencontainers/distribution-spec/blob/main/spec.md) 兼容镜像注册表服务和存储单元调用存储库来存储镜像。您可以使用以下 Snowflake CLI 命令管理 Snowpark Container Services 镜像注册表和镜像仓库:

有关 Snowpark Container Services 镜像注册表和镜像仓库的更多信息,请参阅 Snowpark Container Services:使用镜像注册表和镜像仓库

管理镜像注册表

Snowflake CLI 允许您使用 Snowpark Container Services 镜像仓库执行以下任务:

对于常见操作,如列表或拖放,Snowflake CLI 使用 snow object 命令,如 管理 Snowflake 对象 中所述。

获取用于注册表身份验证的环境令牌

您可以使用 snow spcs image-registry token 命令返回与指定连接关联的令牌,您可以使用该令牌对注册表进行身份验证。

snow spcs image-registry token --connection mytest
Copy
+----------------------------------------------------------------------------------------------------------------------+
| key        | value                                                                                                   |
|------------+---------------------------------------------------------------------------------------------------------|
| token      | ****************************************************************************************************    |
|            | ****************************************************************************************************    |
| expires_in | 3600                                                                                                    |
+----------------------------------------------------------------------------------------------------------------------+

然后,您可以使用该令牌通过管道将其传输到 docker login 命令来登录 Docker 容器,类似于以下操作:

snow spcs image-registry token --format=JSON | docker login <org>-<account>.registry.snowflakecomputing.cn -u 0sessiontoken --password-stdin
Copy

登录镜像注册表

snow spcs image-registry login 使用为您的连接指定的凭据将您登录到镜像仓库。在登录之前,您必须满足以下先决条件:

  • 必须安装 Docker Desktop (https://www.docker.com/products/docker-desktop/),因为该命令要使用 Docker 登录到 Snowflake。

  • 当前角色必须具有账户中镜像仓库的 READ 权限才能获取注册表 URL。

要使用您的账户凭据登录到镜像注册表,请使用以下命令:

snow spcs image-registry login
Copy
Login Succeeded

检索镜像注册表的 URL

snow spcs image-registry url 命令返回镜像仓库的 URL。 当前角色必须具有账户中镜像仓库的 READ 权限才能获取注册表 URL。

要获取镜像仓库的 URL,请执行以下操作:

snow spcs image-registry url
Copy
<orgname-acctname>.registry.snowflakecomputing.cn

管理镜像仓库

Snowflake CLI 允许您使用 Snowpark Container Services 镜像仓库执行以下任务:

对于常见操作,如列表或拖放,Snowflake CLI 使用 snow object 命令,如 管理 Snowflake 对象 中所述。

创建镜像仓库

snow spcs image-repository create 命令在当前架构中创建新的镜像仓库。

要创建镜像仓库,请输入类似下面的命令:

snow spcs image-repository create tutorial_repository
Copy
+-------------------------------------------+
| key    | value                            |
|--------+----------------------------------|
| status | Statement executed successfully. |
+-------------------------------------------+

检索镜像仓库的 URL

snow spcs image-repository url 命令获取镜像仓库的 URL。

要获取 URL,请输入类似下面的命令:

snow spcs image-repository url tutorial_repository
Copy
<orgname-acctname>.registry.snowflakecomputing.cn/tutorial_db/data_schema/tutorial_repository

列出镜像仓库中的标签和镜像

snow spcs image-repository list-images 命令允许您获取镜像仓库的镜像和标签。

要列出仓库中的镜像和标签,请输入类似于以下内容的命令,该命令将列出 my_db 数据库中命名的 images 仓库中的镜像:

snow spcs image-repository list-images images --database my_db
Copy
+----------------------------+---------------+---------+-------------------------------------------------+-----------------------------------------+
| created_on                 | image_name    | tags    | digest                                          | image_path                              |
|----------------------------+---------------+---------+-------------------------------------------------+-----------------------------------------|
| 2024-10-11 14:23:49-07:00  | echo_service  | latest  | sha256:a8a001fef406fdb3125ce8e8bf9970c35af7084  | my_db/test_schema/images/echo_service:  |
|                            |               |         | fc33b0886d7a8915d3082c781                       | latest                                  |
| 2024-10-14 22:21:14-07:00  | test_counter  | latest  | sha256:8cae96dac29a4a05f54bb5520003f964baf67fc  | my_db/test_schema/images/test_counter:  |
|                            |               |         | 38dcad3d2c85d6c5aa7381174                       | latest                                  |
+----------------------------+---------------+---------+-------------------------------------------------+-----------------------------------------+
语言: 中文