使用主机名挂载 CIFS 不起作用

使用主机名挂载 CIFS 不起作用

这来自一个古老的建议https://github.com/moby/moby/pull/39250关于一个问题。我尝试安装 CIFS 卷,通过 IP 配置它对我来说是可行的,但是当我尝试使用主机名配置它时它不起作用。

CIFS=XX.XX.XX.XX

  api:
    image: name-api:$TAG
    environment:
      - NODE_ENV=docker
    ports:
      - "3000:3000"
    container_name: cc-api
    volumes:
      - cifs:/usr/node/cifs
volumes:
  cifs:
    driver: local
    driver_opts:
      type: cifs
      o: username=$WSDLUSER,password=$WSDLPASS,rw,domain=domain.com,uid=1000,forceuid,gid=1000,forcegid,file_mode=0400,dir_mode=0500
      device: "\\\\${CIFS}\\documentation\\_shared\\pdfs”

当我尝试将其更改为CIFSDOMAIN=cifs.domain.com在创建卷期间出现错误invalid argument。因此这应该有效:

volumes:
  cifs:
    driver: local
    driver_opts:
      type: cifs
      o: addr=cifs.domain.com,username=$WSDLUSER,password=$WSDLPASS,rw,uid=1000,forceuid,gid=1000,forcegid,file_mode=0400,dir_mode=0500
      device: "\\\\${CIFSDOMAIN}\\documentation\\_shared\\pdfs”

已经尝试过了"//${CIFSDOMAIN}/documentation/_shared/pdfs”

内核驱动程序是否可能无法解析主机名?本文说在进行 CIFS 挂载时需要使用 IP 地址,因为 docker 不使用相同的用户空间工具来执行挂载,如果提供了主机名,则会失败。

检查卷显示挂载点,对我来说看起来正确

    {
        "Driver": "local",
        "Labels": {
            "com.docker.compose.project": "cc",
            "com.docker.compose.version": "1.27.4",
            "com.docker.compose.volume": "cifs"
        },
        "Mountpoint": "/var/lib/docker/volumes/cc_cifs/_data",
        "Name": "cc_cifs",
        "Options": {
            "device": "\\\\cifs.domain.com\\documentation\\_shared\\pdfs",
            "o": "addr=cifs.domain.com,username=XXXXX,password=YYYYY,rw,uid=1000,forceuid,gid=1000,forcegid,file_mode=0400,dir_mode=0500",
            "type": "cifs"
        },
        "Scope": "local"
    }

此外,/etc/hosts是:

XX.XX.XX.XX cifs cifs.domain.com

相关内容