Docker compose Docker创建我的卷,但仍使用容器id卷

Docker compose Docker创建我的卷,但仍使用容器id卷,docker-compose,mariadb,Docker Compose,Mariadb,我似乎无法让docker/Maria使用我命名的docker卷。主机docker卷目录为空。但是,在我命名的卷旁边有一个新的容器id,看起来它包含了所有的MariaDB部分。问题是为什么 我的docker撰写文件: 版本:“3.7” # #[卷] # 卷数: 数据mysql: # #[服务] # 服务: 马里亚布: 卷数: -数据mysql:/var/lib/mysql 图片:linuxserver/mariadb 集装箱名称:mariadb 环境: -PUID=1000 -GUID=1000

我似乎无法让docker/Maria使用我命名的docker卷。主机docker卷目录为空。但是,在我命名的卷旁边有一个新的容器id,看起来它包含了所有的MariaDB部分。问题是为什么

我的docker撰写文件:

版本:“3.7”
#
#[卷]
#
卷数:
数据mysql:
#
#[服务]
#
服务:
马里亚布:
卷数:
-数据mysql:/var/lib/mysql
图片:linuxserver/mariadb
集装箱名称:mariadb
环境:
-PUID=1000
-GUID=1000
-MYSQL\u ROOT\u密码=
-TZ=Etc/UTC
端口:
- 3306:3306
重新启动:除非停止
我试着在服务线前后移动音量部分,没有任何区别。当我编写docker时,它确实会说它正在创建卷:mariadb_data-mysql,但当我关闭docker时,文件夹中没有任何内容

谢谢你的洞察力!
Nick

您正在使用的MARIADB映像(linuxserver/MARIADB)的数据文件夹是
/config/databases/
,而不是
/var/lib/mysql
。在docker-compose.yml中替换此项,它将正常工作


此外,docker-compose.yml中的顺序也无关紧要:docker-compose将在处理之前编译并按字母顺序排列所有内容。

在运行compose之前,卷是否存在
docker volume create data mysql
在您启动之前创建卷。我尝试了几种不同的方法,没有区别。我尝试了建议的命令,卷列表,但没有使用。然后,我尝试创建卷mariadb_data-mysql,我的docker compose(未使用)也是这样开始的:使用默认驱动程序创建卷“mariadb_data-mysql”。正在创建mariadb。。。已附加到mariadb
version: "3.7"
#
# [Volumes]
#
volumes:
  data-mysql:

#
# [Services]
#
services:
  mariadb:
    volumes:
      - data-mysql:/var/lib/mysql
    image: linuxserver/mariadb
    container_name: mariadb
    environment:
      - PUID=1000
      - GUID=1000
      - MYSQL_ROOT_PASSWORD=<snipped>
      - TZ=Etc/UTC
    ports:
      - 3306:3306
    restart: unless-stopped