Я создал том, используя vieux/sshfs
драйвер. (следующий Использование драйвера )
docker volume create --driver vieux/sshfs -o sshcmd=myuser@172.17.203.17:/home/myuser sshvolume
И проверьте, создан ли он, используя inspect
$ docker volume inspect sshvolume
[
{
"CreatedAt": "0001-01-01T00:00:00Z",
"Driver": "vieux/sshfs:latest",
"Labels": {},
"Mountpoint": "/mnt/volumes/c28f5d0fcff19cf62cd4688723d9c378",
"Name": "sshvolume",
"Options": {
"sshcmd": "myuser@172.17.203.17:/home/myuser"
},
"Scope": "local"
}
]
Скопируйте s sh, чтобы убедиться, myuser
имеет password
меньше доступа к 172.17.203.17
[myuser@server1 ~]$ ssh 172.17.203.17
Last login: Tue Feb 25 21:25:27 2020 from server2.company.com
pyenv: cannot rehash: /usr/local/pyenv/shims isn't writable
[myuser@server2 ~]$
Но когда я запускаю команду docker для создания какого-либо файла в сопоставленном томе, он выдает ошибку.
$ docker run -v sshvolume:/root --rm alpine:latest touch /root/test.txt
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
c9b1b535fdd9: Pull complete
Digest: sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
Status: Downloaded newer image for alpine:latest
docker: Error response from daemon: VolumeDriver.Mount: sshfs command execute failed: exit status 1 (read: Connection reset by peer
).
See 'docker run --help'.
Но если я использую отображение directory
, то оно работает.
$ ls -la /tmp/test.txt ls: невозможно получить доступ к /tmp/test.txt: нет такого файла или каталога $ docker запустите -v / tmp: / root --rm alpine: последнее прикосновение /root/test.txt $ ls -la /tmp/test.txt -rw-r - r--. 1 root root 0 25 февраля 21:33 /tmp/test.txt
Есть ли способ проверить sshfs
или почему sshfs не работает в docker?