Dockerを使用してNFSボリュームをマウントすることはできません。別の方法でマウントできます。

Dockerを使用してNFSボリュームをマウントすることはできません。別の方法でマウントできます。

Docker composeを使用して、Dockerコンテナで使用するためにTrueNASサーバーによって共有されるNFSボリュームを設定しようとしています。

volumes:
  data:
    name: data
    driver: local
    driver_opts:
      type: nfs
      o: addr=[some_ip],rw,nfsvers=4
      device: ":/Share/volumes/data/"

ただし、スタック(docker-compose up -d)を作成するとDockerでエラーが発生します。

ERROR: for web Cannot create container for service web: failed to copy file info for /var/lib/docker/volumes/data/_data: failed to chown /var/lib/docker/volumes/data/_data: lchown /var/lib/docker/volumes/data/_data: operation not permitted

:nocopyこれで、この共有をマウントしてDockerの外部からアクセスできるようになります。ボリュームの説明の最後にフラグを追加すると、コンテナを実行できます。

    volumes:
      - data:/some/dir #:nocopy

...しかし、データがNFS共有にまったく保存されていないようです。

このフラグの使用に関するオファーをオンラインで読んでいますno_root_squashが、TrueNASシステムでは安全でも使用も容易ではないようです。

この問題を解決する方法についてのアドバイスをいただきありがとうございます。

ありがとうございます!

関連情報