镜像缓存概述
更新时间:2024-09-25
使用镜像缓存(ImageCache)创建BCI实例可以加速拉取镜像,减少BCI实例的启动耗时。本文介绍镜像缓存的基本功能、创建和使用方式、以及计费说明等。
功能简介
在运行容器前,BCI需要先拉取您指定的容器镜像,但因网络和容器镜像大小等因素,镜像拉取耗时往往成了BCI实例启动的主要耗时。为加快实例的创建速度,BCI提供镜像缓存功能。您可以预先将需要使用的镜像制作成镜像缓存,然后基于该镜像缓存来创建BCI实例,避免或者减少镜像层的下载,从而提升实例的创建速度。
说明:具体提升速度由BCI实例中使用的镜像个数、镜像大小和镜像仓库网络等因素决定。
创建方式
支持手动创建和自动创建两种方式创建镜像缓存。
说明:推荐使用自动创建的镜像缓存,可以节约使用成本。但对于首次创建BCI实例就需要加速的场景,建议提前手动创建镜像缓存。
手动创建
您可以根据需要,自行设置名称、大小等参数来创建镜像缓存。具体过程如下:
- 一个镜像缓存对应一份CCR快照,手动创建的镜像缓存快照由您自行管理。
- 创建过程中,系统将创建一个BCI实例(2vCPU、4GiB内存),并挂载一块CSD云盘用于中转创建镜像缓存对应的快照,默认大小20G,可自行根据镜像缓存大小调节。创建完成后,该实例和云盘将被自动释放。
自动创建
在创建BCI实例时,会为其自动匹配镜像缓存。在未匹配到镜像缓存的情况下,系统会在创建BCI实例的同时,自动创建一个镜像缓存。具体过程如下:
- 一个镜像缓存对应一份CCR快照,自动创建的镜像缓存快照由百度云BCI管理。注:该镜像缓存如果在30天内未使用,将被自动删除。
- 创建过程中,系统将创建一个BCI实例,并使用BCI实例自带的存储空间来中转创建镜像缓存对应的快照。创建完成后,该实例将被自动释放。
使用方式
创建BCI实例时,使用镜像缓存可以加快BCI实例的创建。目前只支持自动匹配镜像缓存方式:
-
自动匹配:自动匹配使用最优的镜像缓存。目前只支持完全匹配策略。
-
完全匹配策略:即镜像名称及版本是否完全相同。
- 注意1:镜像tag不能为latest,必须指定一个明确的tag。否则,镜像缓存不会生效。
- 注意2:如果用户修改了镜像,必须发布一个新的tag。否则,使用的缓存会比较老。
-
注意事项
- 创建镜像缓存需要拉取容器镜像,因此创建时长由镜像个数、镜像大小、网络等多种因素决定。
-
自动创建镜像缓存时采用实例中所声明的容器镜像。
- 如果镜像为私有镜像,则需要提供私有镜像仓库的访问凭证,包括地址、用户名和密码。
- 如果镜像需要通过公网拉取(如Docker官方镜像),则需要配置EIP或者NAT来访问公网。更多信息,请参见 连接公网。
- 如果镜像由于远程仓库超时等原因导致拉取失败,推荐您将镜像仓库和VPC打通,或者可以使用容器镜像服务CCR,将镜像上传至百度云仓库。
计费说明
-
创建镜像缓存
- 手动创建镜像缓存,需支付临时资源(BCI实例和云盘(超出20GiB免费存储空间部分))费用
-
自动创建镜像缓存,无需付费。
注:如果您的镜像需要通过公网拉取,则会产生相应的公网流量费用。
-
使用镜像缓存
- 使用手动创建或自动创建的镜像缓存创建BCI实例时,如果镜像缓存大于20GiB,需增加临时存储空间并为其付费。否则只需支付BCI实例费用。