我在我的单容器 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/

10-12 19:57