【发布时间】:2016-08-18 05:22:14
【问题描述】:
我在 OS X 上运行 Docker 1.11,并试图找出本地卷的写入位置。我通过运行docker volume create --name mysql 创建了一个 Docker 卷。然后我运行docker volume inspect mysql 并输出以下内容:
[
{
"Name": "mysql",
"Driver": "local",
"Mountpoint": "/mnt/sda1/var/lib/docker/volumes/mysql/_data",
"Labels": {}
}
]
问题是/mnt/sda1/var/lib/docker/volumes/mysql/_data 在我的机器上实际上并不存在。我想问题可能是它实际上并没有被创建,直到它被容器使用,所以我通过运行docker run --name mysql -v mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysql -P -d mysql:5.7 启动了一个容器,然后在 MySQL 中创建了一个数据库,但挂载点仍然不存在。我什至跑了docker inspect mysql 以确保它使用正确的音量并得到以下信息:
...
"Mounts": [
{
"Name": "mysql",
"Source": "/mnt/sda1/var/lib/docker/volumes/mysql/_data",
"Destination": "/var/lib/mysql",
"Driver": "local",
"Mode": "z",
"RW": true,
"Propagation": "rprivate"
}
],
...
此时,我完全不知道数据写入的位置。我错过了什么?
【问题讨论】:
-
在 OS X 和 Windows 上,Docker 在虚拟机 (Boot2Docker) 中运行。该文件夹位于该虚拟机内。您可以使用
docker-machine ssh default登录,然后查看。 -
该死,我知道我错过了一些愚蠢的东西。您要发布为答案以便我标记它吗?
标签: docker docker-volume