Docker卷安装不存在

bok*_*xev 3 docker docker-volume

我在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": {}
    }
]
Run Code Online (Sandbox Code Playgroud)

问题/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"
    }
],
...
Run Code Online (Sandbox Code Playgroud)

在这一点上,我完全迷失了数据写入的位置.我错过了什么?

Xio*_*Jin 9

由于Docker基于Linux,因此无法直接在Windows/OS X上运行.而是在运行Linux操作系统的VirtualBox虚拟机(Docker Machine)内运行.这就是为什么当您安装Docker Toolbox时,您会看到VirtualBox已安装.

要查看此虚拟机中的文件和文件夹,请使用

docker-machine ssh default
Run Code Online (Sandbox Code Playgroud)

default 是默认Docker机器的名称.

  • 这已经不是真的了。现在 Docker for Mac 和 Docker for Windows 存在。 (2认同)