Docker compose Docker创建我的卷,但仍使用容器id卷
我似乎无法让docker/Maria使用我命名的docker卷。主机docker卷目录为空。但是,在我命名的卷旁边有一个新的容器id,看起来它包含了所有的MariaDB部分。问题是为什么 我的docker撰写文件: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
版本:“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