【发布时间】:2019-03-24 02:44:07
【问题描述】:
我正在尝试将我的弹性文件系统 (EFS) 挂载到我的 docker 容器中,以便与 AWS 批处理一起使用。这是我所做的:
创建一个针对弹性容器服务 (ECS) 优化的新 AMI。我关注了this guide here 以确保它上面有 ECS。我还将挂载放入
/etc/fstab文件中,并验证我的 EFS 在重新启动后正在挂载 (/mnt/efs)。用我的新 AMI 测试了一个 EC2 实例,并验证我可以拉取 docker 容器并通过
将我的挂载点传递给它
docker run --volume /mnt/efs:/home/efs -it mycontainer:latest
以交互方式运行 docker 映像显示我在 efs 中的数据
Set up a new compute enviorment 我的新 AMI 在启动时安装 EFS。
-
创建一个JOB定义文件:
{ "jobDefinitionName": "MyJobDEF", "jobDefinitionArn": "arn:aws:batch:us-west-2:#######:job-definition/Submit:8", "revision": 8, "status": "ACTIVE", "type": "container", "parameters": {}, "retryStrategy": { "attempts": 1 }, "containerProperties": { "image": "########.ecr.us-west-2.amazonaws.com/mycontainer", "vcpus": 1, "memory": 100, "command": [ "ls", "/home/efs", ], "volumes": [ { "host": { "sourcePath": "/mnt/efs" }, "name": "EFS" } ], "environment": [], "mountPoints": [ { "containerPath": "/home/efs", "readOnly": false, "sourceVolume": "EFS" } ], "ulimits": [] }}
运行作业,查看日志
无论如何,虽然它没有说“找不到文件 /home/efs”,但它没有列出我的 EFS 中已填充的任何内容,我将其解释为安装空 efs 的容器。我究竟做错了什么?我的 AMI 是否没有在计算环境中挂载 EFS?
【问题讨论】:
标签: amazon-web-services docker amazon-ecs aws-batch