docker vieux / sshfs权限被拒绝

  1. 我使用vieux / sshfs来创build一个卷
 docker插件安装 - 完全权限vieux / sshfs
 docker volume create -d vieux / sshfs -o sshcmd=usfo@192.168.1.1:/ swarm-study / web / data -o password ='123'sshvolume
  1. 我在容器上创build一个用户:usfo

    Dockerfile:

从debian
 COPY sources.list /etc/apt/sources.list
运行apt-get更新
运行apt-get install -y apache2
运行apt-get install -y php7.0 php7.0-mysql
复制apache2.conf /etc/apache2/apache2.conf

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

 COPY index.php /var/www/html/index.php
运行mkdir / autorun
 COPY autorun.sh /autorun/autorun.sh
运行chmod 755 /autorun/autorun.sh
运行mkdir / html-data
 CMD ./autorun/autorun.sh
  1. 并使用usfo用户运行apache

    apache2.conf:

用户usfo
集团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 swarm-data
 drwxr-x --- 1 usfo usfo 4096 Dec 26 02:37 swarm-data
 root @ e3ca660f3a8d:/#su usfo
 $ ls -l / | grep swarm-data
 ls:无法访问“/ swarm-data”:权限被拒绝
 d ?????????  ?  ?  ?  ?  ? 群数据
  1. 尝试不使用vieux / sshfs,是工作! 但是我必须使用vieux / sshfs!
docker运行-itd -p 80:80 -v / swarm-study / web / data:/ swarm-data debian2

 root @ d678cdb273c8:/#su usfo
 $ ls -l / |  grep swarm-data
 drwxr-x --- 2 usfo usfo 4096 Dec 26 10:54 swarm-data

docker版本:17.09.1-ce

debian 9

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

事实certificate,您需要使用sshfs的-o allow_other选项。

 docker volume create -d vieux / sshfs -o sshcmd=usfo@192.168.1.1:/ swarm-study / web / data -o allow_other -o password ='123'sshvolume
 root @ f5132a8f4b84:/#su usfo
 $ ls -l / |  grep swarm-data
 drwxr-x --- 1 usfo usfo 4096 Dec 26 10:54 swarm-data