相关疑难解决方法(0)

如何使用docker compose v3直接在容器中挂载NFS共享/卷

我有一个v3的撰写文件,其中有3个服务共享/使用相同的卷.在使用swarm模式时,我们需要创建额外的容器和卷来管理整个群集中的服务.

我打算使用NFS服务器,以便将单个NFS共享直接挂载到群集中的所有主机上.

我在下面找到了两种方法,但它需要在docker主机上执行额外的步骤 -

有没有一种标准的方法,我可以使用docker compose v3直接使用/挂载NFS共享,只需执行少量/无步骤(我知道无论如何都需要"nfs-common"包)在docker主机上?

docker docker-compose docker-swarm docker-swarm-mode

23
推荐指数
4
解决办法
4万
查看次数

无需在主机上挂载 CephFS 即可访问 Docker 容器内的 CephFS

我有一个运行 Ceph 的测试节点,其中大约 10TB 的数据存储在 CephFS 文件系统中。我想让 CephFS 文件中的某些子路径可用于 Docker 容器,在那里它可以通过 NFS 和 SMB 共享。

osds、mons 和 mds' 在同一节点上运行,这会禁止在 fstab 中安装 CephFS。

我还能如何将 CephFS 文件系统的子路径挂载到容器中?

smb nfs docker ceph

5
推荐指数
1
解决办法
3204
查看次数

docker-compose其他机器的共享量

我正在使用在Windows 10上创建的docker(docker用于linux).

此外,使用docker-compose(版本3.4)将docker之外的卷映射到docker容器中.

我在另一台计算机上有一个共享文件夹,我想在docker中使用它.

我检查该文件夹的访问权限,我可以从Docker正在运行的计算机上访问它.

// ip_addr中/ shared_folder

在docker-compose中,我写道:

volumes:
  - //1.2.3.4/my_folder:my_docker_folder
Run Code Online (Sandbox Code Playgroud)

我发现了网络声明的一些语法.我不知道我该怎么写?

volumes:
  - /my_folder:my_docker_folder
networks:
  frontend:
    ipv4_address: 1.2.3.4
Run Code Online (Sandbox Code Playgroud)

并且ip 1.2.3.4是my_folder的ip?

...但是这种语法可能不正确,或者我应该运行一些命令来正确共享文件夹.

如何将其他计算机共享文件夹映射到docker.

我尝试了几件事,也映射了一个符号链接.

我正在尝试在Windows 10中创建一个符号链接并将其附加到docker,但这对我没有太大帮助,因为我遇到异常.

在Windows命令行中我做了:

mklink /D c:\test_ext \\ip\shared_folder
Run Code Online (Sandbox Code Playgroud)

当运行docker时(我有docker社区版本18.06.1-ce-win73(19507) - linux容器).

在命令行中,我试图运行alpine(这也发生在基于linux映像的其他docker上):

docker run -i -t -vc:\ test_ext:/ data:rw alpine/bin/sh我收到错误:

搬运工:从守护程序错误响应:误差而创建安装源路径 '/ host_mnt/C/test_ext':MKDIR/host_mnt/C/test_ext:文件是否存在.

这只发生在外部IP上.

我看到的是,文件夹+子文件夹+文件是以完全权限共享的.

我尝试了一些解决方法,例如:docker volumes prune,但这没什么用处.

为什么会出现错误消息,我该如何解决?

我发现了一个可能有帮助的替代方案:

docker volume create \
  --driver local \
  --opt type=nfs \
  --opt o=addr=ip_address,rw \
  --opt device=:/myfolder 
   my_volume
Run Code Online (Sandbox Code Playgroud)

这也没有解决问题(语法错误).

谢谢.

share docker docker-compose

5
推荐指数
1
解决办法
563
查看次数

如何在 docker 容器内挂载 EFS?

我正在尝试在 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
Run Code Online (Sandbox Code Playgroud)

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

docker amazon-efs

0
推荐指数
1
解决办法
5516
查看次数