ねぎ嫌い

思いついたことをてきとうに。

Docker Desktop (M1 Mac) でVolumeが作れない

課題

docker compose up を実行すると、以下のエラーが発生する

ERROR: for postgresql  Cannot start service db: error while mounting volume '/var/lib/docker/volumes/postgresql_db/_data': failed to mount local volume: mount /tmp/postgresql/data:/var/lib/docker/volumes/ghost-postgresql_db/_data, flags: 0x1000: no such file or directory

環境

  • macOS Monterey
  • Apple M1
  • Docker Desktop 4.4.2 (73305)

結論

Preferences > General にある Use gRPC FUSE for file sharing のオプションを無効化する

関連するGitHub issue:

github.com

状況

version: "3.9"

...

volumes:
  db:
    driver_opts:
      type: none
      device: /tmp/postgresql/data
      o: bind

こんな感じで、ローカルにマウントするボリュームを書いていると、冒頭のエラーが発生しContainerが立ち上がらない。
Volumeは作成されているものの、そんなファイルはない、と怒られてしまう。

結論に書いた通り、オプションのせいで動かなかった。   詳細は調べてないので、わかる方いたら教えてほしいです。。