Docker nfs 卷 mysql - 如何修复:“无法复制文件信息”

Bil*_*tes 3 mysql nfs docker docker-volume

我使用 docker-compose 和 nfs 卷创建了一个“mysql”服务。该服务无法启动并出现以下错误:


"failed to copy file info for /var/lib/docker/volumes/db_data/_data: failed to chown /var/lib/docker/volumes/db_data/_data: lchown /var/lib/docker/volumes/db_data/_data: operation not permitted" 


Run Code Online (Sandbox Code Playgroud)

我尝试使用“couchdb”,但它有同样的问题

下面是一段示例代码:

version: "3.7"
networks:
  web:
    external: true
services:
  db:
    image: mysql:5.7
    networks:
      - web
    environment:
      MYSQL_ROOT_PASSWORD: xxxxxx
      MYSQL_DATABASE: xxxxxx
      MYSQL_USER: xxxxxx
      MYSQL_PASSWORD: xxxxxx
    volumes:
      - db_data:/var/lib/mysql
volumes:
  db_data:
    driver_opts:
      type: nfs
      o: addr=x.x.x.x,nolock,soft,rw
      device: :/var/nfs/db_data
Run Code Online (Sandbox Code Playgroud)

让它发挥作用的正确和最佳方法是什么?

小智 6

尝试从服务器端修复它!在 NFS 服务器上,检查“/etc/exports”文件。你应该有这样的东西:

/var/nfs/db_data x.x.x.x/24(rw,sync,no_subtree_check)
Run Code Online (Sandbox Code Playgroud)

尝试添加“no_root_squash”选项:

/var/nfs/db_data x.x.x.x/24(rw,sync,no_root_squash,no_subtree_check)
Run Code Online (Sandbox Code Playgroud)