为 docker 服务安装本地卷时出错

Anj*_*yna 5 ubuntu mount docker docker-volume minio

我正在 OCI 的 ubuntu 实例中部署应用程序。

我有一个 docker-compose 文件,其中包含为此指定的卷。顶层有一个卷规范,并且在服务下的嵌套级别中提到了该命名卷:

version: '3.2'
services:
  minio:
    image: minio/minio
    restart: always
    command: server /data
    ports:
    - 9200:9000
    volumes:
    - minio-data:/data

volumes:
  minio-data:
    driver_opts:
      type: none
      device: /mydir/data/minio-data
      o: bind
Run Code Online (Sandbox Code Playgroud)

但是当执行 docker-compose up 时,它无法启动容器并出现错误:

Creating docker_minio_1    ... error

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

ERROR: Encountered errors while bringing up the project.
Run Code Online (Sandbox Code Playgroud)

但如果我按照以下方式进行操作,它就会起作用:

version: '3.2'
services:
  minio:
    image: minio/minio
    restart: always
    command: server /data
    ports:
    - 9200:9000
    volumes:
    - /mydir/data/minio-data:/data
Run Code Online (Sandbox Code Playgroud)

谁能帮助理解两者之间有什么区别

而且,我该如何解决第一种方法中的问题?