何亚斌

Docker 部署 Samba 文件共享服务
Docker 部署 Samba 文件共享服务  前段时间给公司搭建了一个 Samba 文件共享...
扫描右侧二维码阅读全文
18
2019/02

Docker 部署 Samba 文件共享服务

Docker 部署 Samba 文件共享服务

  前段时间给公司搭建了一个 Samba 文件共享服务,用于公司内部存放公共共享文件。该 Samba 文件共享服务使用了 Docker 来搭建,具体搭建步骤如下:


一、创建数据存放目录

这里将 Samba 文件数据存放至 /home/pbversion/Sambashare/ 目录下,如需更换目录以下对应位置自行替换,确保其具有读写权限。

mkdir -p /home/pbversion/Sambashare 

该 Samba 文件数据存放目录切不可删除!!!
后期做服务器迁移时该目录务必保证其完整性,除非您真的不想要这些数据。


二、导入 Samba 文件共享服务 Docker 镜像

docker pull dperson/samba:latest

latest 为发布版本号,这里使用最新构建的版本,可根据需要自行替换相应版本号。


三、启动 Docker 镜像

(添加用户 -u "<username;password>[;ID;group]")
(添加共享 -s "<name;/path>[;browse;readonly;guest;users;admins;writelist;comment]")

docker run --name samba \
    --detach \
    --restart always \
    --publish 139:139 --publish 445:445 \
    --env USERID="0" \
    --env GROUPID="0" \
    --volume /home/pbversion/Sambashare/data:/share \
    dperson/samba:latest \
        -u "admin;这里对应用户 admin 的密码" \
        -u "public;这里对应用户 public 的密码" \
        -u "rd;这里对应用户 rd 的密码" \
        -u "pd;这里对应用户 pd 的密码" \
        -u "md;这里对应用户 md 的密码" \
        -u "td;这里对应用户 td 的密码" \
        -s "public;/share/public;yes;no;no;public;admin;admin;公共共享文件夹" \
        -s "rd;/share/rd;yes;no;no;rd;admin;admin;研发部共享文件夹" \
        -s "pd;/share/pd;yes;no;no;pd;admin;admin;生产部共享文件夹" \
        -s "md;/share/md;yes;no;no;md;admin;admin;市场部共享文件夹" \
        -s "td;/share/td;yes;no;no;td;admin;admin;技术部共享文件夹"

对外开放的访问端口: 139 , 445 端口(未导出 137 、 138 UDP 端口供 nmbd 使用,需要使用 nmbd 时可使用 docker 参数导出 -p 137:137/udp -p 138:138/udp)
latest 为启动的 Samba 文件共享服务的 Docker 镜像版本号,升级版本自行替换对应的镜像版本号。


四、升级 Samba 文件共享服务版本

1. 先停止并删除正在运行的 Samba 文件共享服务的 Docker 镜像运行实例

docker stop samba 
docker rm samba 

2. 参考上述步骤二下载要升级替换的 Samba 文件共享服务镜像版本

docker pull dperson/samba:latest

这里举例替换为最新构建版本 latest 。

3. 参考上述步骤三启动对应升级后的 Samba 文件共享服务镜像


五、故障维护

1. 查看容器运行状态

(下图中标示的绿色下划线代表状态,蓝色下划线代表容器名称)
常看容器运行状态.png

2. 查看异常的容器启动运行日志,根据日志查看对应运行状态或相关故障信息

docker logs samba 

3. 当启动失败可以简单尝试重新启动容器运行实例

  1. 参考上述步骤四 .1 先停止并删除正在运行的 Samba 文件共享服务的 Docker 镜像运行实例。
  2. 参考上述步骤三重新启动新的 Samba 文件共享服务的 Docker 镜像运行实例。

六、其他帮助信息

遇到其他一些问题或者需要配置其他一些功能可参考帮助文档

Last modification:February 24th, 2019 at 10:52 pm

2 comments

  1. NG6

    请问您有删除文件后容量不恢复这个问题么?该如何解决?

  2. newcoderlife

    感谢!这可能是类似教程里写的最详细的一篇了。

Leave a Comment Cancel reply