Вам не нужно создавать и устанавливать мод вручную, просто передайте имя каталога на CMD
, и точка входа создаст его для вас. Вот самый простой пример.
Определите пользователей в (1) command arguments
, (2) SFTP_USERS
переменной среды или (3) в файле, смонтированном как /etc/sftp/users.conf
(синтаксис: user:pass[:e][:uid[:gid[:dir1[,dir2]...]]] ...
см. примеры ниже)
с использованием docker-compose
sftp:
image: atmoz/sftp
command: username:password:100:100:upload
будет создано имя пользователя username
и каталог загрузка в /home/username
Youможете проверить это, используя
docker exec -it --user username <container_id> bash -c "ls /home/username"
, если вы хотите получить доступ к загружаемым файлам с хоста, просто добавьте монтирование в ваш docker-compose
sftp:
image: atmoz/sftp
command: username:password:100:100:upload
volumes:
- /host/upload:/home/username/upload
Примеры
Простейший пример запуска Docker
docker run -p 22:22 -d atmoz/sftp foo:pass:::upload
Пользователь "foo" с паролем "pass" может войти в систему с помощью sftp и загрузить файлы в папку с именем "upload". Нет смонтированных каталогов или пользовательских UID / GID. Позже вы можете проверить файлы и использовать --volumes-from для их монтирования в другом месте (или см. Следующий пример).
см. официальную документацию