如何在AWS上运行的docker容器上挂载基于fuse的文件系统?



我需要在一个必须在AWS ECS Fargate上执行的docker容器上挂载一个基于fuse的文件系统(使用rclone)。

使用以下命令在本地运行容器没有问题:

docker run --rm --device /dev/fuse --cap-add SYS_ADMIN <IMAGE_NAME>

在AWS ECS Fargate上,docker容器不能正常工作,因为我还没有找到如何设置标志—device——cap-add当我在AWS ECS上定义任务时。如有任何建议,我将不胜感激。

不幸的是,我没能找到这个问题的直接解决方案。这是我当时使用的解决方案:

我切换到EC2类型的ECS任务,因为,你可以在官方文档中看到,标志——device——cap-add在Fargate上启动的任务是不可用的。

这样,只有通过任务的JSON定义,我才能添加我需要的旗子。下面是一个示例json定义,展示了如何添加这些属性:

{
... other properties
"containerDefinitions": [
... other properties
"linuxParameters": {
"capabilities": {
"add": [
"SYS_ADMIN"
],
"drop": null
},
... other properties
"devices": [
{
"containerPath": "/dev/fuse",
"hostPath": "/dev/fuse",
"permissions": null
}
],
... other properties
},
... other properties
],
... other properties
}

相关内容

  • 没有找到相关文章

最新更新