卷设备磁盘装载docker编写错误-不是目录

卷设备磁盘装载docker编写错误-不是目录,docker,docker-compose,Docker,Docker Compose,我需要使用docker compose安装一个磁盘 目前,我可以使用docker service create进行组装,方法如下: docker service create -d \ --name my-service \ -p 8888:80 \ --mount='type=volume,dst=/usr/local/apache2/htdocs,volume-driver=local,volume-opt=type=xfs,volume-opt=device=/dev/sdd' \

我需要使用docker compose安装一个磁盘

目前,我可以使用
docker service create
进行组装,方法如下:


docker service create -d \
 --name my-service \
 -p 8888:80 \
 --mount='type=volume,dst=/usr/local/apache2/htdocs,volume-driver=local,volume-opt=type=xfs,volume-opt=device=/dev/sdd' \
 httpd
我的
docker compose.yml
如下所示:


version: '3.8'

services:
  my-service:
    image: httpd
    ports:
      - '80:80'
    volumes:
      - type: volume
        source: my-vol
        target: /usr/local/apache2/htdocs

volumes:
  my-vol:
    driver: local
    driver_opts:
      type: xfs
      o: bind
      device: '/dev/sdd'
使用
docker compose up
上传服务时,我收到错误信息:

"failed to mount local volume: mount /dev/sdd:/var/lib/docker/volumes/apache_my-vol/_data, flags: 0x1000: not a directory"
如何配置我的
docker compose.yml
以装载磁盘


*对不起,我的英语不好。

这一行与传递给普通Linuxmount(8)命令的选项相匹配
o:bind
手动创建一个绑定挂载,将文件系统的一部分附加到其他地方;这是Docker绑定安装系统背后的机械师。此处更改的重要内容是,它会导致将
设备:
实际解释为要重新装载的(主机系统)目录,而不是设备


由于您正在尝试装载物理设备,因此不需要
o:bind
选项。如果删除该选项,则
设备:
将被解释为设备名称,您将能够装载磁盘。

o:bind
不适合尝试装载物理磁盘。移除它有帮助吗?是的,有帮助!非常感谢你,大卫!