Docker container of Samba, an implementation of the Windows SMB networking protocol.
Via Docker Compose:
services:
samba:
image: dockurr/samba
container_name: samba
environment:
NAME: "Data"
USER: "samba"
PASS: "secret"
ports:
- 445:445
volumes:
- /home/example:/storage
Via Docker CLI:
docker run -it --rm -p 445:445 -e "USER=samba" -e "PASS=secret" -v "/home/example:/storage" dockurr/samba
To change the location of the shared folder, include the following bind mount in your compose file:
volumes:
- /home/example:/storage
Replace the example path /home/example
with the desired folder.
You can change the display name of the shared folder by adding the following environment variable:
environment:
NAME: "Data"
To connect to the shared folder enter: \\192.168.0.2\Data
in Windows Explorer.
Note
Replace the example IP address above with that of your host.
You can set the USER
and PASS
environment variables to modify the credentials from their default values: user samba
with password secret
.
environment:
USER: "samba"
PASS: "secret"
You can set UID
and GID
environment variables to change the user and group ID.
environment:
UID: "1002"
GID: "1005"
To mark the share as read-only, add the variable RW: "false"
.
If you need more advanced features, you can completely override the default configuration by modifying the smb.conf file in this repo, and binding your custom config to the container like this:
volumes:
- /example/smb.conf:/etc/samba/smb.conf
If you want to configure multiple users, you can bind the users.conf file to the container as follows:
volumes:
- /example/users.conf:/etc/samba/users.conf