【发布时间】:2021-08-14 02:23:57
【问题描述】:
我的设置:
比较1:
- 操作系统=RHEL7
- ip=192.x.x.220
Comp2
- 操作系统=RHEL7
- ip=192.x.x.38
Comp1 正在使用以下命令运行 nfs-server docker 容器 (erichough/nfs-server):docker run -v /home/mc/volumes/share1:/share1 -v /home/mc/exports/exports.txt:/etc/exports:ro --privileged -p 2049:2049 --name nfs erichough/nfs-server
我传递给它的导出文件包含以下内容:/share1 192.x.x.38(ro,no_root_squash,sync) /share1 192.x.x.220(ro,no_root_squash,sync) 理论上允许 comp1 和 comp2 都可以访问。
nfs-server 容器在运行时具有以下 ips,eth0 为 172.17.0.3,lo 为 127.0.0.1。
所以此时,我可以在 comp1 上执行以下操作:mount 127.0.0.1:/share1 /localshare 并且 share1 文件夹已正确挂载。
在 comp2 上,我看不到 127.0.0.1,因为据我所知,这只是 docker 网络上的 ip。所以我至少尝试了mount 192.x.x.220:/share1 /localshare,但失败了,因为那个文件夹不存在。
comp2 有没有办法直接访问那个 nfs 容器,还是我想错了?
感谢您的帮助!
【问题讨论】:
-
从 docker 容器中导出/公开端口:docs.docker.com/engine/reference/commandline/run/… 也许您需要设置一个网桥,以便能够从运行 docker 守护进程的主机访问 nfs 共享,并且“外部" 计算机。
标签: docker networking ip nfs