我在我的单容器 EB 部署中使用亚马逊提供的新弹性文件系统。我不知道为什么挂载的 EFS 不能映射到容器中。
在/efs-mount-point 的主机上成功执行 EFS 挂载。
提供给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 配合得好吗?
最佳答案
您需要 restart docker在主机 EC2 实例中挂载 EFS 卷之后。
这是一个例子,.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"
https://stackoverflow.com/questions/38180665/
相关文章:
docker - 如何使用 Jenkins 管道在 docker 容器中安装 Jenkins 工作区
java - 如何减小我的 java/gradle docker 镜像大小?
mysql - 如何通过 SSH 连接到 MySQL Docker 容器?
docker - 如何基于现有镜像创建新的 docker 镜像?
docker - 证书是如何从 super 账本中 hfc-key-store 中真实的 fabri
node.js - node_modules 上的 docker-compose 卷但为空
bash - 如何在 ENTRYPOINT 等待 postgres 启动?