更改卷的源路径

sha*_*nuo 7 docker docker-compose docker-volume

此dockerfile按预期工作.但问题是我无法改变音量来源.

version: "3.5"
services:
  mysql:
    environment:
      MYSQL_ROOT_PASSWORD: india3391
    image: shantanuo/mysql:5.7
    ports:
    - mode: ingress
      target: 3306
      published: 3391
      protocol: tcp
    volumes:
    - type: volume
      source: dbvol
      target: /var/lib/mysql
volumes:
  dbvol: {}
Run Code Online (Sandbox Code Playgroud)

它似乎在默认的docker安装中创建一个如下所示的directory_name + volume_name文件夹...

"Source": "/var/lib/docker/volumes/hashi1_dbvol/_data",
Run Code Online (Sandbox Code Playgroud)

有没有办法改变这条道路?


更新:

# cat docker-compose.yml
version: "3.5"
services:
  mysql:
    environment:
      MYSQL_ROOT_PASSWORD: india3391
    image: shantanuo/mysql:5.7
    ports:
    - mode: ingress
      target: 3306
      published: 3391
      protocol: tcp
    volumes:
    - type: volume
      source: dbdata
      target: /var/lib/mysql

volumes:
  dbdata:
    driver: local
    driver_opts:
      type: 'none'
      o: 'bind'
      device: '/srv4/db-data'
Run Code Online (Sandbox Code Playgroud)

只有在我第一次创建安装目录时,此撰写文件才有效

mkdir -p /srv4/db-data
Run Code Online (Sandbox Code Playgroud)

docker run命令的volume参数将动态创建此目录.为什么docker无法创建目录?