使用Samba镜像创建SMB文件共享

使用Samba镜像创建SMB文件共享

01 samba 介绍

Samba 是一个开源软件套件,它实现了SMB(Server Message Block)协议,也被称为CIFS(Common Internet File System),这使得Linux和UNIX系统能够与Windows操作系统无缝地共享文件和打印机。Samba由服务器及客户端程序构成,并且可以在局域网中提供类似于Windows网络邻居的服务。

Samba的设计初衷是为了让不同的操作系统之间可以方便地进行资源共享。它不仅支持Linux与Windows之间的文件共享,而且也可以用于Linux与Linux之间的资源共享。这意味着,通过Samba,您可以创建一个跨平台的工作环境,其中不同操作系统的计算机可以轻松地访问彼此的文件和其他资源。

02 Samba的主要组件

Samba包括两个主要的服务守护进程:

  • smbd​:这是Samba的核心服务,负责处理来自客户端的文件和打印请求。它监听TCP端口139和445上的连接请求,并验证用户身份以提供对文件和打印系统的访问。
  • nmbd​:这个服务负责名称解析功能,类似于DNS的作用,但是专门为NetBIOS名称解析设计。它监听UDP端口137和138,帮助主机找到同一工作组内的其他机器。

03 安装部署

dockurr/samba​ 镜像是一款专为简化Samba服务器部署而设计的Docker镜像,它使得用户可以在容器环境中快速启动一个Samba服务器实例。通过使用这个镜像,无论是个人用户还是企业级应用,都可以轻松地在Linux系统上提供文件共享服务给Windows、macOS以及其他支持SMB/CIFS协议的操作系统。

3.1 镜像特点

  • 易于配置dockurr/samba​ 镜像预装了Samba软件,并且已经设置好了一些基本参数,使得启动和运行Samba服务变得非常简单。用户只需要指定挂载点以及一些必要的环境变量就可以开始使用。
  • 灵活性高:尽管提供了默认配置,但该镜像也允许用户自定义Samba配置文件(如smb.conf​),以满足特定需求或更复杂的网络环境要求。此外,还可以通过环境变量来调整服务行为,比如设置共享目录路径、访问权限等。
  • 维护方便:由于所有依赖项都被打包进了一个独立的容器中,因此不需要担心宿主机系统的兼容性问题;同时,更新镜像版本也非常容易,只需拉取最新的镜像并重启容器即可。

3.2 使用docker-compose进行部署

  1. 创建docker-compose.yaml配置文件

    创建docker-compose.yaml配置文件,添加以下配置内容。完成创建Samba容器。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    services:
    samba:
    image: dockurr/samba
    container_name: samba
    hostname: samba
    restart: unless-stopped
    environment:
    NAME: "share"
    USER: "administrator"
    PASS: "hesc"
    UID: "1000"
    GID: "1000"
    ports:
    - 445:445
    volumes:
    - ./share:/storage
    networks:
    - service

    networks:
    service:
    external: true
  2. 启动服务

    1
    docker-compose up -d


使用Samba镜像创建SMB文件共享
https://hesc.info/post/create-smb-file-share-using-samba-image-zp9t15.html
作者
需要哈气的纸飞机
发布于
2025年1月6日
许可协议