首页 > 解决方案 > 将 Docker 卷存储在外部硬盘驱动器上

问题描述

我正在尝试将容器的数据存储在/dev/xvdd安装在/mnt/datadbs.

我的docker-compose.yml样子是这样的:

version: "3":

services:
  ...

volumes:
  prometheus-data:
    driver: local
    driver_opts:
      type: btrfs
      device: /mnt/dataebs

当我启动容器时,我收到以下错误:

ERROR: for prometheus  Cannot create container for service prometheus: failed to mount local volume: mount /mnt/dataebs:/var/lib/docker/volumes/ubuntu_prometheus-data/_data: block device required

有人可以指出我正确的方向吗?最终,我希望能够在“外部硬盘驱动器”上存储几个 docker 卷。

标签: dockerdocker-composemountbtrfs

解决方案


尝试将您的命名卷声明类型更改为“绑定”而不是“btrfs”。

所以它会是这样的:

volumes:
  prometheus-data:
    driver: local
    driver_opts:
      type: none
      device: /mnt/dataebs
      o: bind

您也可以直接在您的服务声明中绑定 mount,如下所示:

app:
    image: appimage
    ports:
      - "8080:8080"
    volumes:
      - /mnt/dataebs:/container/path

推荐阅读