neytor/samba

By neytor

Updated 3 days ago

Server samba en docker. Comparte archivos entre Windows, Linux, Mac, todo con Samba

Image
Networking
Operating Systems
Web Servers

162

Comparte archivos entre Windows, Linux, Mac, todo con Samba

Referencia rápida

  • ¿Qué es samba?
  • ¿Cuál es nuestro uso?
  • ¿Cómo usar esta imagen?
  • Login por defecto
  • Arquitectura soportada
  • Variables
  • Rendimiento optimizado
  • Uso en raspberry
  • Te invito a visitar mi web

¿Qué es samba?

Definición Wikipedia

Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado posteriormente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que computadoras con GNU/Linux, Mac OS X o Unix en general se vean como servidores o actúen como clientes en redes de Windows. Samba también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autentificar con su propio archivo de usuarios.

smb

¿Cuál es nuestro uso?

Nuestro servidor samba nos permitirá compartir directorio entre sistemas tales como WIndows, Linux, MacOS.

Polymart Downloads

¿Cómo usar esta imagen?

Puede hacer uso de docker cli o docker compose

Login por defecto

Para acceder a su recurso compartido siga la sintaxis descrita en la tabla:

URL accesoUsuario por defectoContraseña por defecto
smb://miDireccionIPneytorneytor
docker-compose (recomendado)
---
version: '3'
services:
  samba_server:
    image: neytor/samba
    container_name: samba_server
    restart: always
    environment:
    	- user=neytor #OPCIONAL
    	- password=neytor #OPCIONAL
    	- mygroup=sambita #OPCIONAL
    	- mydir=/download #OPCIONAL DIRECTORIO POR DEFECTO COMPARTIDO
    	- additional_dirs=/dir1,/dir2 #OPCIONAL DIRECTORIOS COMPARTIDO, añade todos los directorios que deseas aquí
    ports:
      - 445:445
      - 137:137/udp
      - 138:138/udp
      - 139:139/tcp
    volumes:
      - samba:/download
  volumes:
    samba:
...

Nota: Puedes reemplazar environment por env_file y pasarle un archivo .env como valor, recuerde que el archivo .env debe tener las variables deseadas.

docker cli
docker container run \
   --name samba_server -v samba:/download \
   -p 445:445 -p 137:137/udp -p 138:138/udp -p 139:139/tcp \
   -d neytor/samba

Arquitectura soportada

La arquitectura soportada es la siguiente:

ArquitecturaDisponibleTag descarga
x86-64docker pull neytor/samba
arm64docker pull neytor/samba:arm

Variables

Puedes pasar las siguientes variables al crear el contenedor

VariableFunción
-e userDefine el usuario para login - por defecto es neytor
-e passwordDefine la contraseña para el usuario - por defecto es neytor
-e mygroupDefine el nombre del grupo - por defecto un PGID de 8888 y grupo sambita
-e mydirDefine el directorio que desea compartir - por defecto es /download
-e additional_dirsOpcional: Define todos los directorios que deseas compartir,ejemplo additional_dirs=/dir1,/dir2,/dir3 respetando la estructura definida.

IMPORTANTE: Puede crear mas carpetas compartidas únicamente debe respetar el nombre 'mydir' luego cualquier cosa, por ejemlo; Pasando la opción '-e mydiruno', '-e additional_dirs', todos los que necesites,

Ejemplo completo

docker container run \
  --name samba_server -v samba:/download \
  -e user=neytor \
  -e mydir=/download \
  -e additional_dirs=/work,/dir1/dir2,/dir3 \ #RECUERDA OPCIONAL DIRECTORIO COMPARTIDO
  -e mygroup=sambita \
  -p 445:445 -p 137:137/udp -p 138:138/udp -p 139:139/tcp \  
  -d neytor/samba

Environment variables desde archivo (Docker secrets)

Se recomienda pasar la variable passworda través de un archivo.

Rendimiento optimizado

Si desea una mejor velocidad se recomienda utilizar la red host

Uso en Raspberry

Puedes utilizarla para cualquier raspberry pi

docker container run \
  --name samba_server -v samba:/download \
  -e user=neytor \
  -e mydir=/download \
  -e additional_dirs=/work,/dir1/dir2,/dir3 \ #RECUERDA OPCIONAL DIRECTORIO COMPARTIDO
  -e mygroup=sambita \
  -p 445:445 -p 137:137/udp -p 138:138/udp -p 139:139/tcp \  
  -d neytor/samba:arm

Try in PWD

Te invito a visitar mi web

Puedes ver nuevos eventos en https://www.yonier.com/

Docker Pull Command

docker pull neytor/samba