本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

samba Docker 镜像下载 - 轩辕镜像

samba 镜像详细信息和使用指南

samba 镜像标签列表和版本信息

samba 镜像拉取命令和加速下载

samba 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

samba
logicer16/samba

samba 镜像详细信息

samba 镜像标签列表

samba 镜像使用说明

samba 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

dperson/samba的直接替代方案,可选支持imker25/samba_exporter
0 次下载activelogicer16

samba 镜像详细说明

samba 使用指南

samba 配置说明

samba 官方文档

Samba

Samba Docker容器

dperson/samba的直接替代方案,可选支持imker25/samba_exporter

什么是Samba?

自1992年以来,Samba为所有使用SMB/CIFS协议的客户端(如各种版本的DOS和Windows、OS/2、Linux等)提供安全、稳定且快速的文件和打印服务。

镜像变体

该镜像提供两个变体:

  • logicer16/samba:latest:dperson/samba的修改版本,增加了对自定义配置的支持。
  • logicer16/samba:exporter:与logicer16/samba:latest相同,额外运行imker25/samba_exporter,端口为9922

[!WARNING]
目前,logicer16/samba:exporter版本被认为不稳定。不保证在合理时间内解决问题。欢迎建议和PR。

默认情况下无共享配置,可添加额外共享。

使用方法

运行Samba实例

基本运行:

sudo docker run -it -p 139:139 -p 445:445 -d logicer16/samba -p

或设置本地存储:

sudo docker run -it --name samba -p 139:139 -p 445:445 \
            -v /path/to/directory:/mount \
            -d logicer16/samba -p

或运行带exporter的版本:

sudo docker run -it -p 139:139 -p 445:445 -p 9922:9922 -d \
            logicer16/samba:exporter -p

配置

命令行帮助:

sudo docker run -it --rm logicer16/samba -h
Usage: samba.sh [-opt] [command]
选项('[]'中的为可选,'<>’中的为必填):
    -h          显示帮助
    -c "<from:to>" 设置文件/目录名的字符映射
                必填参数:"<from:to>" 字符映射,用','分隔
    -G "<section;parameter>" 为smb.conf提供通用节选项
                必填参数:"<section>" - 例如:"share"
                必填参数:"<parameter>" - 例如:"log level = 2"
    -g "<parameter>" 为smb.conf提供全局选项
                必填参数:"<parameter>" - 例如:"log level = 2"
    -i "<path>" 导入smbpassword
                必填参数:"<path>" - 容器内的完整文件路径
    -n          启动'nmbd'守护进程以广播共享
    -p          设置共享的所有权和权限
    -r          禁用共享的回收站
    -R "<group> <user> [...users]" 将用户添加到组
    -S          禁用SMB2最低版本
    -s "<name;/path>[;browse;readonly;guest;users;admins;writelist;comment]"
                配置共享
                必填参数:"<name>;</path>"
                <name> 是客户端看到的共享名
                <path> 共享路径
                注意:默认值留空即可
                [browsable] 默认:'yes'或'no'
                [readonly] 默认:'yes'或'no'
                [guest] 允许访客默认:'yes'或'no'
                注意:以下用户列表用','分隔
                [users] 允许访问的用户默认:'all'或用户列表
                [admins] 管理员用户默认:'none'或管理员列表
                [writelist] 可写入只读共享的用户列表
                [comment] 共享描述
    -u "<username;password>[;ID;group;GID]"       添加用户
                必填参数:"<username>;<passwd>"
                <username> 用户名
                <password> 密码
                [ID] 用户ID
                [group] 用户组
                [GID] 组ID
    -w "<workgroup>"       配置Samba使用的工作组(域)
                必填参数:"<workgroup>"
                <workgroup> 工作组名称
    -W          允许访问宽符号链接
    -I          在smb.conf末尾添加include选项
                必填参数:"<include file path>"
                <include file path> 容器内的路径,例如绑定挂载的文件

'command'(如果提供且有效)将替代samba运行

环境变量

  • CHARMAP - 同上,配置字符映射
  • GENERIC - 同上,配置通用节选项(*见下方提示)
  • GLOBAL - 同上,配置全局选项(*见下方提示)
  • IMPORT - 同上,导入smbpassword文件
  • NMBD - 同上,启用nmbd
  • PERMISSIONS - 同上,设置所有共享的文件权限
  • RECYCLE - 同上,禁用回收站
  • SHARE - 同上,配置共享(*见下方提示)
  • SMB - 同上,禁用SMB2最低版本
  • TZ - 设置时区,例如EST5EDT
  • USER - 同上,添加用户(*见下方提示)
  • WIDELINKS - 同上,允许访问宽符号链接
  • WORKGROUP - 同上,设置工作组
  • USERID - 设置Samba服务器默认用户(smbuser)的UID
  • GROUPID - 设置Samba服务器默认用户(smbuser)的GID
  • INCLUDE - 同上,添加smb.conf的include
  • SAMBA_SH_ARGS - 附加到docker命令提供的参数的额外参数
  • SAMBA_EXPORTER_STATUSD_ARGS - samba_statusd的选项。仅在exporter标签可用。
  • SAMBA_EXPORTER_ARGS - samba_exporter的选项。仅在exporter标签可用。
  • SMB_CONF_PATH - 见smb.conf。默认值为/etc/docker-samba/smb.conf

[!NOTE] 如果启用nmbd(通过-nNMBD环境变量),还需要暴露端口137和138:-p 137:137/udp -p 138:138/udp

[!NOTE] 有报告称,-nNMBD仅在容器使用主机网络栈时才有效。

[!TIP] *可选支持以相同名称开头的额外变量,例如SHARE也适用于SHARE2SHARE3...SHAREx等。

smb.conf

如果希望使用默认smb.conf以外的自定义配置文件,可通过SMB_CONF_PATH指定绑定挂载的自定义smb.conf路径。通过环境变量或CLI选项提供的任何额外配置将自动应用于提供的配置。

示例

任何命令可在创建容器时通过docker run运行,或之后通过docker exec -it samba samba.sh运行(从docker 1.3版本开始)。

设置时区

sudo docker run -it -e TZ=EST5EDT -p 139:139 -p 445:445 -d logicer16/samba -p

创建用户和共享的实例:

sudo docker run -it -p 139:139 -p 445:445 -v config/smb.conf:/etc/docker-samba/smb.conf -d logicer16/samba -p \
            -u "example1;badpass" \
            -u "example2;badpass" \
            -s "public;/share" \
            -s "users;/srv;no;no;no;example1,example2" \
            -s "example1 private share;/example1;no;no;no;example1" \
            -s "example2 private share;/example2;no;no;no;example2"

使用自定义smb.conf

sudo docker run -it -p 139:139 -p 445:445 -d logicer16/samba -p \
            -u "example1;badpass"

用户反馈

故障排除

  • 客户端显示“Access is denied”(或类似)错误,和/或容器日志中看到change_to_user_internal: chdir_current_service() failed!

在容器选项末尾添加-p选项,或设置PERMISSIONS环境变量:

sudo docker run -it --name samba -p 139:139 -p 445:445 \
            -v /path/to/directory:/mount \
            -d logicer16/samba -p

如果无法更改文件权限,可将环境变量USERIDGROUPID设置为文件所有者的ID。

  • Samba内存使用率高。多人报告samba进程内存使用率高且不释放。推荐解决方法:

在docker run命令中添加-m 512m选项,或在docker_compose.yml中设置mem_limit:

sudo docker run -it --name samba -m 512m -p 139:139 -p 445:445 \
            -v /path/to/directory:/mount \
            -d logicer16/samba -p
  • 使用smbclient命令行工具连接。默认情况下,samba仍尝试使用已弃用且有安全问题的SMB1。此容器默认使用SMB2,但由于未知原因,即使支持也默认禁用,因此运行命令时使用smbclient -m SMB3,然后添加其他选项。

问题

如果对该镜像有任何问题或疑问,请通过GitHub issue联系。

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"