Этот репозиторий содержит минимальную среду Samba-сервера, запущенную в контейнере Docker.
Позволяет быстро развернуть SMB-шары с аутентификацией пользователей.
chmod +x run_docker_samba.sh exec_docker.sh create_user.shdocker build -t samba-secure .Для запуска SMB-сервера используйте:
./run_docker_samba.shСервер будет доступен через порт 10445, если стандартный порт 445 будет занят.
При запуске сервера автоматически создаётся директория share/, содержащая символьные ссылки на все SMB-шары:
share/
├── share1 -> /samba/share1
├── share2 -> /samba/share2
└── share3 -> /samba/share3
Это позволяет просматривать содержимое всех шар прямо на хосте, не подключая их через SMB.
Пример:
ls -l share/share1💡 Полезно для отладки и быстрого доступа к файлам.
Используйте скрипт exec_docker.sh для подключения к шарам внутри контейнера.
./exec_docker.sh <имя_пользователя> <пароль> [опции]./exec_docker.sh user1 pass1Автоматически откроется директория /samba/share1.
./exec_docker.sh user2 pass2 -c "ls -l /samba/share2"./exec_docker.sh user3 pass3 -c "cat /samba/share3/test.txt"Подключить SMB-шару можно следующей командой:
sudo mount -t cifs //<SERVER_IP>/share1 /mnt/smb_share1 -o username=user1,password=pass1,port=10445,vers=3.0Откройте проводник и в адресной строке введите:
\\<SERVER_IP>\share1
Примечание: Убедитесь, что служба "Клиент для Microsoft Сети" включена.
Альтернативно: можно использовать "Подключение к сетевому диску".
По умолчанию доступны следующие SMB-шары:
| Шара | Путь внутри контейнера |
|---|---|
share1 |
/samba/share1 |
share2 |
/samba/share2 |
share3 |
/samba/share3 |
| ... | ... |
share10 |
/samba/share10 |
- Проверьте, запущен ли контейнер:
docker ps - Логи:
docker logs samba_container - Убедитесь, что порт
10445открыт на хосте