【问题标题】:How to mount EFS inside a docker container?如何在 docker 容器中挂载 EFS?
【发布时间】:2020-01-02 15:18:49
【问题描述】:

我正在尝试在 EC2 服务器上运行的 docker 容器中安装 EFS。 EC2 中的 EFS 挂载运行良好,

sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <efs-address>:/ efs

但是在 docker 容器中尝试时,它会给出错误“mount.nfs4:不允许操作”。请告诉我如何实现这一目标。

【问题讨论】:

  • 是否正在创建一个docker 卷并且使用它不是一个选项?例如docker volume create --driver local --opt type=nfs --opt o=addr=10.0.0.50,rw,nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 --opt device=:/ efs 然后使用卷 docker run --rm -it -v efs:/mnt ubuntu:18.04

标签: docker amazon-efs


【解决方案1】:

您可以使用 EFS 创建docker volume

docker volume create \
    --driver local \
    --opt type=nfs \
    --opt o=addr=10.0.0.50,rw,nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 \
    --opt device=:/ efs 

然后挂载卷docker run --rm -it -v efs:/mnt ubuntu:18.04

【讨论】:

  • 这符合我的要求,但有一个问题。这需要两个步骤:1. 创建 docker 卷,2. 运行 docker 镜像。是否有可能为此迈出一步?我可以以某种方式更改我的 dockerfile 来完成这项工作吗?
  • @padmanabhpande 不能对Dockerfile 本身做任何事情,如果使用docker-compose,那么您可以在那里定义docker volume,如果它还没有,它将创建docker volume启动服务时存在。
猜你喜欢
  • 2018-08-05
  • 1970-01-01
  • 2016-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-13
  • 2017-07-21
  • 2017-08-14
相关资源
最近更新 更多