15、CentOS7 安装Docker之扩展(使用sshfs挂载远程volume)

本文介绍了一种无需在服务器端安装额外软件,仅通过SSH即可实现远程文件系统挂载的方法。使用sshfs和FUSE,用户可以将远程服务器上的文件系统作为本地目录访问,适用于共享远程数据库等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用sshfs挂载远程volume

我们已经讨论过如何挂载本地文件,不过很快我们就会遇到如何挂载远程文件系统的问题了。例如可能你想共享远程服务器上的数据库并把它当作本地数据库使用。
虽然理论上可以设置一个NFS服务器并通过在你服务器挂载目录访问远程文件,不过有一种对于大多数用户快速简单的方法,此方法不需要在服务器端安装任何软件(只需要SSH)。

设置sshfs需要root权限,并且需要安装FUSE(Linux的“用户空间文件系统”内核模块)。你可以通过执行ls /dev/fuse来判断系统是否已经安装有。

问题

你想找到一个不需要配置服务器端的方法来挂载远程的文件系统。

解决方法

使用sshfs来挂载远程文件系统

讨论

sshfs通过使用FUSE内核模块提供的文件系统标准接口和SSH访问远程文件系统,所有的通信使用SSH进行。SSHFS还提供了各种幕后功能(例如远程文件预读),以让我们觉得是在操作本地文件。下图说明它是如何工作的。

我们现在来做下试验。首先在你主机运行一个带–privileged参数的容器:

$ docker run -t -i --privileged debian /bin/bash

然后当它启动后,在容器内部运行apt-get update && apt-get install sshfs安装SSHFS。
当SSHFS安装完成后,按如何登录远程主机:

$ LOCALPATH=/path/to/local/directory

$ mkdir $LOCALPATH

$ sshfs user@host:/path/to/remote/directory $LOCALPATH

现在你应该能通过本地的$LOCALPATH目录看到远程主机的目录内容了。
不需要时可以通过fusermount命令来取消挂载:

fusermount -u /path/to/local/directory

 

转载地址:https://www.centos.bz/2016/11/mount-remote-docker-volume-with-sshfs/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值