docker部署samba文件共享服务

拉取pull samba镜像

sudo docker pull dperson/samba:latest

创建数据目录

mkdir /data/image
# 注意权限
sudo chown -R gestep.gestep /data/image
注意 # 如果 data下有其他数据文件,则执行如下命令
sudo chown gestep.gestep /data/
sudo chown -R gestep.gestep /data/image

编写运行脚本 run.sh

#!/bin/bash

WORKDIR=$(cd $(dirname $0); pwd)
DATADIR=/data/image
D=$(sudo which docker)
SMB=$(sudo ${D} ps -a | grep samba | awk '{print $1}')

if [[ ${SMB} != "" ]]; then
        sudo ${D} stop ${SMB}
        sudo ${D} rm -f ${SMB}
else
        echo "samba server not runing......"
fi

echo "startup smaba server."
sudo ${D} run \
        -it --name samba \
        --restart=always \
        -p 139:139 -p 445:445 \
        -v ${DATADIR}:${DATADIR} \
        -v ${WORKDIR}/conf/smb.conf:/etc/samba/smb.conf \
        -d dperson/samba:latest \
        -w "WORKGROUP" \
        -u "admin;yoonuu@QAZ123" \
        -s "image;/data/image;yes;no;no;admin;admin;admin"

STMB=$(sudo ${D} ps -a | grep samba)
if [[ ${STMB} != "" ]]; then
        echo ${STMB}
        echo "startup samba server successfilly."
else
        echo "startup samba server faild!"
fi

运行指令详解

docker run -it \
--name samba \  #为新的容器命一个名,方便启动、停止、删除等操作,毕竟一长串字符不好输入
-p 139:139 \           #将主机的139端口映射到samba_docker这个容器的139端口上
-p 445:445 \           #将主机的445端口映射到samba_docker这个容器的445端口上
-v ${DATADIR}:${DATADIR} \  # 将主机上的共享目录向容器进行映射
-d dperson/samba:latest \     #以dperson/samba这个dockers镜像为模板,建立容器
-w "WORKGROUP" \       #从这里开始是dperson/samba 的参数,上面是docker run 的参数。这里指定了工作组
-u "admin;yoonuu@QAZ123" \ #为samba服务设置账户和密码
-s "image;/data/image;yes;no;no;admin;admin;admin" # 一定要放到最后一行,否则启动报错
最后一行以分号为间隔,分别是:
共享文件夹的名称;共享在samba容器中的路径;共享名称对所有工作组用户可见;不是只读(也就是说可写);不允许guest用户;指定共享的所有权用户;指定共享的超级用户;指定具有写权限的用户;

运行

bash run.sh

访问

# windows 测试
win + R 键
# 在弹出窗口输入
\\192.168.2.36
# 会弹出用户密码验证窗口
# 输入上边运行镜像时设置的用户名密码

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值