我在我的单容器 EB 部署中使用了 amazon 提供的新弹性文件系统。我无法弄清楚为什么无法将挂载的 EFS 映射到容器中。
EFS 挂载在主机上的/efs-mount-point 上成功执行。
提供给 Dockerrun.aws.json 的是
{
"AWSEBDockerrunVersion": "1"
"Volumes": [
{
"HostDirectory": "/efs-mount-point",
"ContainerDirectory": "/efs-mount-point"
}
]
}
一旦开始运行,就会在容器中创建卷。但是,它映射了主机目录/efs-mount-point,而不是实际的 EFS 挂载点。我不知道如何让 Docker 映射到挂载在/efs-mount-point 而不是主机目录的 EFS 卷中。
NFS 卷与 Docker 配合得很好吗?
最佳答案
在主机 EC2 实例中挂载 EFS 卷后,您需要 restart docker。
这是一个示例, .ebextensions/efs.config
:
commands:
01mkdir:
command: "mkdir -p /efs-mount-point"
02mount:
command: "mountpoint -q /efs-mount-point || mount -t nfs4 -o nfsvers=4.1 $(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).fs-fa35c253.efs.us-west-2.amazonaws.com:/ /efs-mount-point"
03restart:
command: "service docker restart"
关于amazon-web-services - 将 AWS EFS 与 Docker 结合使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38180665/