背景
在前端开发中,经常需要在本地进行开发调试,但有时需要在远程服务器上进行开发,这时,我们可以使用 sshfs 将远程服务器上的目录挂载到本地进行开发。
而在 Docker 容器中,我们同样可以使用 sshfs 挂载远程目录,但在实际使用中,可能会遇到 “permission denied” 的问题,本文将为大家介绍如何解决这个问题。
解决方法
方法一:修改 sshd_config 文件
在远程服务器上,我们需要修改 sshd_config 文件,将以下两行代码的注释去掉:
---------- ---- ---------------------------- --------- ---- -------------
然后添加以下代码:
----- ---- ------------- ------------- -- ------------------ -- --------------- -- ------------ -------------
其中,your_username 是你的用户名,%h 表示用户的家目录。
修改后,重启 ssh 服务:
---- ------- --- -------
方法二:在 Dockerfile 中添加用户
在 Dockerfile 中,我们可以添加一个与远程服务器上的用户相同的用户,然后在容器中使用该用户进行 sshfs 操作。
首先,在 Dockerfile 中添加以下代码:
--- -------- -- ---- ------------- -- - ------- -- ---- -- ---- -- ------------------- -- --------- ------------- -- - ----- -- ------------------------ -- - ----- -- --------------------------- -------------------
其中,your_username 是你的用户名。
然后,在容器中使用该用户进行 sshfs 操作:
----- -- ----------------------------------------- -------------------------------------- -----------
示例代码
- ---------- ---- ----------- - ------- ----- --- ------- ------ -- ------- ------- -- ----- - --- ---- --- -------- -- ---- ------------- -- - ------- -- ---- -- ---- -- ------------------- -- --------- ------------- -- - ----- -- ------------------------ -- - ----- -- --------------------------- ------------------- - --- ------- --------- ------- ---- - ----- ------ --------- --- ----- -- ----------- -- - ----- -- --------------------------- ----------- ---- ------------- - ----- ------ --------- --- ----- -- ----------------------------------------- -------------------------------------- ----------- --- ------- --------
总结
本文介绍了在 Docker 容器中使用 sshfs 挂载远程目录时出现 “permission denied” 的解决方法,包括修改 sshd_config 文件和在 Dockerfile 中添加用户两种方法。希望本文对大家有所帮助。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/66029a68d10417a222e67e01