docker vieux/sshfs 权限被拒绝

USF*_*SFO 5 sshfs docker

  1. 我使用 vieux/sshfs 创建卷
docker 插件安装 --grant-all-permissions vieux/sshfs
docker 卷创建 -d vieux/sshfs -o sshcmd=usfo@192.168.1.1:/swarm-study/web/data -o 密码='123' sshvolume


  1. 我在容器 :usfo Dockerfile上创建一个用户:
来自 debian
复制sources.list /etc/apt/sources.list
运行 apt-get update
运行 apt-get install -y apache2
运行 apt-get install -y php7.0 php7.0-mysql
复制 apache2.conf /etc/apache2/apache2.conf

运行 groupadd -g 1000 usfo
运行 useradd -u 1000 -g 1000 usfo

复制index.php /var/www/html/index.php
RUN mkdir /自动运行
复制 autorun.sh /autorun/autorun.sh
运行 chmod 755 /autorun/autorun.sh
运行 mkdir /html-data
命令./autorun/autorun.sh
  1. 并使用usfo用户运行apache

    apache2.conf:
用户usfo
乌斯福集团
  1. 使用此命令运行容器
docker run -itd -p 80:80 --mount type=volume,source=sshvolume,destination=/swarm-data debian2
  1. 我遇到了麻烦,只有 root 用户可以访问,usfo 用户不能访问
root@e3ca660f3a8d:/# su root
root@e3ca660f3a8d:/# ls -l /swarm-data
总计 8
-rw-r--r-- 1 usfo usfo 1136 Dec 26 02:37 Desktop.rar
-rw-r--r-- 1 usfo usfo 7 Dec 26 02:18 a.txt

root@e3ca660f3a8d:/# ls -l / | grep 群数据
drwxr-x--- 1 usfo usfo 4096 12 月 26 日 02:37 群数据
root@e3ca660f3a8d:/# su usfo
$ ls -l / |grep 群数据
ls:无法访问“/swarm-data”:权限被拒绝
d??????? ?????群体数据
  1. 尝试不使用 vieux / sshfs ,可以!,但我必须使用 vieux/sshfs !!
docker run -itd -p 80:80 -v /swarm-study/web/data:/swarm-data debian2

root@d678cdb273c8:/# su usfo
$ ls -l / | grep 群数据
drwxr-x--- 2 usfo usfo 4096 12 月 26 日 10:54 群数据

docker版本:17.09.1-ce

Debian 9

USF*_*SFO 3

引用: https: //github.com/vieux/docker-volume-sshfs/issues/17
感谢@koenlek

原来需要使用-o allow_othersshfs的选项。

docker 卷创建 -d vieux/sshfs -o sshcmd=usfo@192.168.1.1:/swarm-study/web/data -o allowed_other -o 密码='123' sshvolume
root@f5132a8f4b84:/# su usfo
$ ls -l / | grep 群数据
drwxr-x--- 1 usfo usfo 4096 12 月 26 日 10:54 群数据