Docker SSHFS volume

Moki Lv6

Install plugin:

1
2
mkdir /var/lib/docker/plugins
docker plugin install --grant-all-permissions vieux/sshfs

Or install with ssh keyfiles:

1
2
mkdir /var/lib/docker/plugins
docker plugin install vieux/sshfs sshkey.source=/home/<user>/.ssh/

Create volume and container (password):

1
docker volume create -d vieux/sshfs -o sshcmd=remote_user@remote_host:/remote/path $PARAMETERS -o allow_other volume_name

Parameters:

  • sudo:
    1
    -o 'sftp_server=/usr/bin/sudo /usr/lib/openssh/sftp-server'
  • ssh keyfile:
    1
    -o IdentityFile=/home/user/.ssh/id_ed25519
  • password:
    1
    -o password=remote_password

Run container:

1
docker run -it -v volume_name:/local-path alpine sh -c 'echo "Hello world" > /local-path/somefile'

Docker-compose:

1
2
3
4
5
6
7
8
volumes:
volume_name:
driver: vieux/sshfs
driver_opts:
allow_other: ""
sftp_server: '/usr/bin/sudo /usr/lib/openssh/sftp-server'
sshcmd: remote_user@remote_host:/remote/path
password: remote_password
On this page
Docker SSHFS volume