醉了漫天星斗 发表于 2025-4-14 09:30:52

Docker部署 映射数据库文件到本地怎么写


我目前是这个
docker run -d --name greatsql --hostname=greatsql -p 13306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=1 registry.cn-beijing.aliyuncs.com/greatsql/greatsql:8.0.32-25

容器里数据库文件是哪个?
怎么映射到本地?
这个命令怎么写

yejr 发表于 2025-4-14 10:00:56

可以参考GreatSQL Docker用户文档:https://gitee.com/GreatSQL/GreatSQL-Docker/tree/master/GreatSQL#greatsql-docker镜像使用

文档中有个例子:

如果想要映射外部 my.cnf 配置文件或自行指定 datadir,还可以类似下面这么用:


$ docker run -d \
-v /data/greatsql/my.cnf:/etc/my.cnf \
-v/data/greatsql/data:/data \
--name greatsql --hostname=greatsql \
-e TZ="Asia/Shanghai" \
greatsql/greatsql


注意,需要先保证本地目录 /data/greatsql/data 是空的才行,否则 GreatSQL 在初始化检测时会报告失败,无法启动。

醉了漫天星斗 发表于 2025-4-14 10:23:32

yejr 发表于 2025-4-14 10:00
可以参考GreatSQL Docker用户文档:https://gitee.com/GreatSQL/GreatSQL-Docker/tree/master/GreatSQL#gre ...

我更改外部的my.cnf 配置文件容器里可以生效吗

yejr 发表于 2025-4-14 10:48:35

醉了漫天星斗 发表于 2025-4-14 10:23
我更改外部的my.cnf 配置文件容器里可以生效吗

可以的,用相同方法挂载映射即可

醉了漫天星斗 发表于 2025-4-14 10:55:02

yejr 发表于 2025-4-14 10:00
可以参考GreatSQL Docker用户文档:https://gitee.com/GreatSQL/GreatSQL-Docker/tree/master/GreatSQL#gre ...

root@kylin:~# docker run -d --name greatsql --hostname=greatsql -v /data/greatsql/my.cnf:/etc/my.cnf -v /data/greatsql/data:/data -p 13306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=1 registry.cn-beijing.aliyuncs.com/greatsql/greatsql:latest
5075ddc6ac57dec84dc85b43c636fe3df174d5d695be8d936619756dec9bb374
这个是什么错
docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/data/greatsql/my.cnf" to rootfs at "/etc/my.cnf": mount /data/greatsql/my.cnf:/etc/my.cnf (via /proc/self/fd/6), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.

yejr 发表于 2025-4-14 11:09:16

醉了漫天星斗 发表于 2025-4-14 10:55
root@kylin:~# docker run -d --name greatsql --hostname=greatsql -v /data/greatsql/my.cnf:/etc/my.c ...

/data/greatsql/my.cnf 这个文件存在吗,或者是否正常可读可用,还请提供更多具体信息

醉了漫天星斗 发表于 2025-4-14 14:18:01

yejr 发表于 2025-4-14 11:09
/data/greatsql/my.cnf 这个文件存在吗,或者是否正常可读可用,还请提供更多具体信息 ...

我找到问题了docker映射出问题了 把my.cnf 映射成文件夹了

yejr 发表于 2025-4-14 15:11:29

醉了漫天星斗 发表于 2025-4-14 14:18
我找到问题了docker映射出问题了 把my.cnf 映射成文件夹了

能具体说下啥情况吗,看你上面提供的命令行应该没这个问题

醉了漫天星斗 发表于 昨天 09:27

yejr 发表于 2025-4-14 15:11
能具体说下啥情况吗,看你上面提供的命令行应该没这个问题

应该是DOCKER版本的问题它把my.cnf文件 映射成文件夹了
页: [1]
查看完整版本: Docker部署 映射数据库文件到本地怎么写