Fargate共享数据存储

Fargate任务只支持bind mount host volume, 不支持dockerVolumeConfiguration参数,参考 Volumes .

在Fargate上的容器,可以使用以下存储类型:

  1. EFS。参考 Amazon EFS volumes
  2. Bind mounts for ephemeral storage,参考 Bind mounts .

本节介绍Bind Mounts这种方式,来在fargate两个容器中共享存储。

配置Task Defination的Storage

参考 https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bind-mounts.html#bind-mount-examples 中的案例,

更新上一节中Dogs Task Defination,在storage部分添加一个volume,并为两个容器都挂载到同一目录下,这样两个容器就能共享这个目录:

image-20231101235326916

更新完Task Defination后,更新Dogs Service,重新部署最新版本。

部署完成后,登录到Dogs容器中,在/var/scratch目录下创建一个文件:

image-20231101235945821

此时登录到另一个容器下面,也能看到这个共享目录及文件:

image-20231102000146025