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 322 天前 via Android
~/data/mysql-data
|
2
danbai 322 天前 via Android
~/data/mysql-data
|
3
danbai 322 天前 via Android
在你用户目录下 data
|
4
DOGSO 322 天前
自己写的 volumes 自己还是看下吧。。。
|
5
Rebron1900 OP @danbai 我文中说了,现在数据不在 ~/data/mysql-data 中,这也是我奇怪的点
|
6
hubqin 322 天前
你用的是哪个版本?不同版本 mysql 的默认数据目录会不一样。
|
7
johnzr 322 天前
不在 `~/data/mysql-data` 中?? 那跑哪去了?
|
8
lingex 322 天前 via Android 1
docker-compose 中的~可能会跑到奇怪的地方,比如/snap/…
最好是写成./ 或者绝对路径 |
9
Jony4Fun 322 天前
要不在 mysql 下 touch 一个 特殊名字的文件,然后去 host 上 find 一下?
|
11
xxx027 322 天前 2
不写成绝对路径那就会到处跑,理论上是在启动 docker 的用户的家目录那里,但那个用户未必就是你当前这个用户
|
12
cookii 321 天前 via Android
全局 find 一下
|
13
lmaq 321 天前
~/data/mysql-data/data
|
14
Rebron1900 OP 结帖了,用 sudo 执行的 docker-compose ,因为是 root 权限,所以数据跑到 /root/data/mysql-data 里去了。
|
15
body007 321 天前
执行一下 docker-compose config (最终都按这里结果生效),看看最终生效目录。或许你可以写下面这种。
$HOME/data/mysql-data/data:/var/lib/mysql |
16
julyclyde 321 天前
又一例因为 docker 给自己找麻烦的案例
不过幸好这次的结果是 OP 不但解决了问题而且功力大增 |