家人们啦,今天我将向大家介绍如何使用Docker Compose安装Samba,从而实现便捷的文件共享环境。Samba是一个开源的软件套件,允许不同操作系统之间实现文件和打印机的共享。通过Docker Compose的便利,我们可以快速搭建和管理Samba容器,轻松实现文件共享和访问。废话不多说,让我们开始吧!

# 安装Docker和Docker Compose

在开始之前,确保您的系统已经安装了Docker和Docker Compose。如果您还没有安装,可以参考Docker官方文档进行安装。安装完成后,请确保Docker和Docker Compose已经正确配置并可正常运行。

# 创建docker-compose.yml文件

在您的工作目录下创建一个名为docker-compose.yml的文件,并使用文本编辑器打开它。

version: '3.3'
services:
  samba:
    image: dperson/samba
    container_name: dperson-samba
    restart: always
    environment:
      TZ: Asia/Shanghai
    ports:
      - 139:139
      - 445:445
    volumes:
      - ./data:/mount
    command: '-u "username1;password1" -u "username2;password2" -s "share;/mount/;yes;yes;yes;all;none" -s "public;/mount/;yes;no;no;all;none"'

请注意,上述配置文件中的username1、password1、username2和password2是示例用户的用户名和密码。您可以根据需要修改或添加更多的用户和共享目录。 -s 后边是文件夹名称和权限 -u 后边用户名及密码

# 启动Samba容器

 docker-compose up -d

也可以直接通过docker run 启动

docker run -it --name samba -p 139:139 -p 445:445 -v ./data:/mount -d dperson/samba -u "username1;password1" -s "shared;/mount/;yes;yes;yes;all;none" -u "username2;password2" -s "public;/mount/;yes;no;no;all;none"

启动之后修改挂在目录的权限

sudo chmod -R   777 data

# 测试Samba共享

我们在我的电脑的地址栏中输入:

\\192.168.10.105

回车 _20230630220026.png

输入我们配置的用户和密码: _20230630220131.png

然后我们就可以在内网快乐的使用共享目录了

_20230630220151.png

# 常见问题

  • 不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接

window切换用户登录出现此问题

解决方法:

1.进入 控制面板\用户帐户和家庭安全\凭据管理器\Windows 凭据,删除对应的用户名密码。

2.进入计算机\管理\服务, 对Workstation服务进行重新启动。

  • win10未打开samba功能

控制面板--》程序--》打开windows功能--》勾选samba/共享功能

在运行窗口输入“gpedit.msc”回车运行或按“确定”按钮,在弹出的“本地策略组编辑器里选择”下图红色标记。双击“启用不安全来宾登录”

在弹出的窗口里选择下图红色箭头指向的“已启用”,点“确认”按钮。

这样win10就可以访问smb服务器的共享文件夹了。

  • 文件夹权限问题

chmod -R 777 修改文件夹权限