使用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进行部署
创建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
22services:
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启动服务
1
docker-compose up -d
使用Samba镜像创建SMB文件共享
https://hesc.info/post/create-smb-file-share-using-samba-image-zp9t15.html