我在 OS X 上运行 Docker 1.11,并试图找出本地卷的写入位置。我通过运行创建了一个 Docker 卷docker volume create --name mysql
。然后我跑了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"
}
],
...
此时我完全不知道数据被写入哪里。我缺少什么?
由于 Docker 基于 Linux,因此无法直接在 Windows/OS X 上运行。而是在运行 Linux 操作系统的 VirtualBox 虚拟机(Docker Machine)内运行。这就是为什么当您安装 Docker Toolbox 时您会看到 VirtualBox 已安装。
要查看该虚拟机内的文件和文件夹,请使用
docker-machine ssh default
default
是默认 Docker Machine 的名称。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)