V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sjmcefc2
V2EX  ›  程序员

请教这个 docker compose 总觉得哪里不对,共享文件夹多个用户访问的时候,总是出现“另一个程序正在使用此文件,进程无法访问”

  •  
  •   sjmcefc2 · 2020-10-08 08:28:48 +08:00 · 3259 次点击
    这是一个创建于 1268 天前的主题,其中的信息可能已经有所发展或是发生改变。
    version: '3.4'

    services:
    samba:
    image: dperson/samba
    container_name: samba
    environment:
    TZ: 'CCT'
    networks:
    - default
    ports:
    - "137:137/udp"
    - "138:138/udp"
    - "139:139/tcp"
    - "445:445/tcp"
    read_only: true
    tmpfs:
    - /tmp
    restart: unless-stopped
    stdin_open: true
    tty: true
    volumes:
    - /mnt/shared/books:/books
    - /mnt/shared/movie:/movie
    - /mnt/shared/music:/music
    command: '-s "books;/books;yes;no;no;;;;books" -s "movie;/movie;yes;no;no;;;;movie" -s "music;/music;yes;no;no;;;;music" -u "shared;shared" -p'
    12 条回复    2021-05-24 10:04:50 +08:00
    sjmcefc2
        1
    sjmcefc2  
    OP
       2020-10-08 08:31:13 +08:00
    间歇性的出现 “
    另一个程序正在使用此文件,进程无法访问”问题,有点奇怪,权限是对的,docker 也正常运行
    hefish
        2
    hefish  
       2020-10-08 09:32:49 +08:00
    我也是用的这个镜像,也是常出现这个问题。我不是用的 docker-composer,我是直接 docker run 的。
    sjmcefc2
        3
    sjmcefc2  
    OP
       2020-10-08 12:20:27 +08:00
    难道这个镜像有问题?好像这个 star 还是挺多的。
    sjmcefc2
        4
    sjmcefc2  
    OP
       2020-10-08 12:23:04 +08:00
    话说哪里有这种常用应用的 docker compose?
    vhwwls
        5
    vhwwls  
       2020-10-08 20:50:12 +08:00
    给个思路,可能和 Windows 的权限管理有关系。
    qwertyegg
        6
    qwertyegg  
       2020-10-09 00:02:47 +08:00
    zlowly
        7
    zlowly  
       2020-10-09 14:43:41 +08:00
    也可以往 smb.conf 里加上 strict locking = no 看看能否解决。
    hefish
        8
    hefish  
       2020-10-09 22:17:35 +08:00
    看起来是 samba 版本的问题,我已经安装 github 上的提示,apk upgrade 了。明天看看情况。
    sjmcefc2
        9
    sjmcefc2  
    OP
       2020-10-11 02:42:01 +08:00
    @hefish 貌似不行啊,时不时跳出来一个进程占用,句柄无效的。
    hefish
        10
    hefish  
       2020-10-12 10:03:50 +08:00
    @sjmcefc2 是的,我现在换了 elswork/samba:latest 这个镜像,然后也进去 apk upgrade 了一把,目前使用正常。
    sjmcefc2
        11
    sjmcefc2  
    OP
       2020-10-12 15:54:42 +08:00
    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;技术部共享文件夹"

    会是没有添加 userid,groupid 的原因吗?
    qinsi
        12
    qinsi  
       2021-05-24 10:04:50 +08:00
    @qwertyegg 这个 issue 里新回复的命令解决了我的问题:
    `docker exec -it samba /bin/bash -c "apk -U upgrade && pkill smbd"`
    然后重启 samba 就好了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2753 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:09 · PVG 20:09 · LAX 05:09 · JFK 08:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.