
docker-compose 文件如下,现在宿主机里对应的目录中没有数据文件。
但是我把 mysql 删了,再重新起一个,mysql 中的数据还在,数据应该是已经保存到了宿主机了,但是我想知道在那里,想统一放到指定的目录方便管理。
version: '3' services: mysql: container_name: mysql image: mysql restart: always environment: MYSQL_ROOT_PASSWORD: 123456 ports: - 3306:3306 volumes: - ~/data/mysql-data/data:/var/lib/mysql - ~/data/mysql-data/config:/etc/mysql/conf.d 1 Earsum 2023-12-14 19:26:02 +08:00 via Android ~/data/mysql-data |
2 danbai PRO ~/data/mysql-data |
3 danbai PRO 在你用户目录下 data |
4 DOGSO 2023-12-14 22:17:55 +08:00 自己写的 volumes 自己还是看下吧。。。 |
5 Rebron1900 OP @danbai 我文中说了,现在数据不在 ~/data/mysql-data 中,这也是我奇怪的点 |
6 hubqin 2023-12-14 23:36:00 +08:00 你用的是哪个版本?不同版本 mysql 的默认数据目录会不一样。 |
7 johnzr 2023-12-15 00:18:26 +08:00 不在 `~/data/mysql-data` 中?? 那跑哪去了? |
8 lingex 2023-12-15 00:25:25 +08:00 via Android docker-compose 中的~可能会跑到奇怪的地方,比如/snap/… 最好是写成./ 或者绝对路径 |
9 Jony4Fun 2023-12-15 00:26:04 +08:00 要不在 mysql 下 touch 一个 特殊名字的文件,然后去 host 上 find 一下? |
11 xxx027 2023-12-15 01:36:23 +08:00 不写成绝对路径那就会到处跑,理论上是在启动 docker 的用户的家目录那里,但那个用户未必就是你当前这个用户 |
12 cookii 2023-12-15 08:34:17 +08:00 via Android 全局 find 一下 |
13 lmaq 2023-12-15 08:56:31 +08:00 ~/data/mysql-data/data |
14 Rebron1900 OP 结帖了,用 sudo 执行的 docker-compose ,因为是 root 权限,所以数据跑到 /root/data/mysql-data 里去了。 |
15 body007 2023-12-15 11:20:24 +08:00 执行一下 docker-compose config (最终都按这里结果生效),看看最终生效目录。或许你可以写下面这种。 $HOME/data/mysql-data/data:/var/lib/mysql |
16 julyclyde 2023-12-15 18:51:34 +08:00 又一例因为 docker 给自己找麻烦的案例 不过幸好这次的结果是 OP 不但解决了问题而且功力大增 |