docker - 将 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 卷。
解决方案
尝试将您的命名卷声明类型更改为“绑定”而不是“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
推荐阅读
- python - 在 PYGAME 中单击图像时如何移动图像?
- citrus-framework - 如何为 citrus-http:client 标签动态参数化 citrus-context.xml 中的 request-url?
- xslt - 带有分隔符的字符串上的 XSLT 调用模板
- r - 从邻接矩阵不生成边
- javascript - 如何将数据从中间件传递到路由器?
- azure - Azure EventGrid 队列以编程方式将消息设置为永不过期
- c - 如何释放 pcre2_get_ovector_pointer 方法分配的内存?
- tensorflow - 将标签作为具有 shape(m,1) 或 shape(m,) 的 numpy 数组提供给模型
- .net - 如何使用 ReactJS Fetch 从 Net Framework 4.5 中的 HttpResponseMessage 获取数据
- javascript - Postgresql 列存在,但获取关系列不存在