我无法在 Elastic Beanstalk 上运行的 Docker 容器上挂载 EFS 卷。这是我所拥有的Dockerrun.aws.json
:
{
"AWSEBDockerrunVersion": "1",
"Volumes": [
{
"HostDirectory": "/mydir",
"ContainerDirectory": "/mydir"
}
]
}
这是我在.ebextensions/storage-efs-mountfilesystem.config
. 其余与此相同。
option_settings:
aws:elasticbeanstalk:application:environment:
EFS_VOLUME_ID: 'fs-*****'
EFS_MOUNT_DIR: '/mydir'
当我 ssh 进入我的 Elastic Beanstalk 环境时,我看到该卷已安装在主机上:
[ec2-user@ip-****** app]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
us-east-1a.fs-******.efs.us-east-1.amazonaws.com:/ 9007199254740992 0 9007199254740992 0% /mydir
但在我的 Docker 容器中,文件系统不是 EFS:
root@99046bd6a358:/reo# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda1 8125880 1552688 6472924 20% /mydir
我VOLUME
的Dockerfile
.
此外,如果我在 Docker 容器中创建了一个文件,那么当我返回主机目录时,该文件就不存在了。因此, /mydir
不是来自主机卷。我还需要做什么才能访问 Docker 上的 EFS 卷?