Docker Volume Empty

时间:2014-06-27 18:03:44

标签: macos docker

我正在尝试浏览Docker Tutorial并将卷装入我的主机操作系统,如

$ sudo docker run -d -P --name web -v /src/webapp:/opt/webapp training/webapp python app.py

我正在尝试将主机操作系统(OSX)中的目录挂载到VM:

$  docker run -P  --name web -v /Users/simon/source/test:/opt/test training/webapp ls -al /opt/test
total 4
drwxr-xr-x 2 root root   40 Jun 27 17:48 .
drwxr-xr-x 5 root root 4096 Jun 27 17:51 ..
$

但是来自主机操作系统:

$ ls -al /Users/simon/source/test
total 0
drwxr-xr-x   3 simon  staff   102 Jun 27 10:55 .
drwxr-xr-x@ 36 simon  staff  1224 Jun 27 10:55 ..
-rw-r--r--   1 simon  staff     0 Jun 27 10:55 foo
$

也许相关 - 我的理解是docker卷应该存储在/var/lib/docker中,这对我来说不存在:

$ ls -al /var/lib/docker
ls: /var/lib/docker: No such file or directory

1 个答案:

答案 0 :(得分:4)

Docker服务器无法在darwin上运行。这就是你使用VM的原因。使用-v时,实际上是将命令发送到在vm上运行的docker服务器。您发送的路径或相对于服务器的路径,而不是客户端。 VM上存在/var/lib/docker,而不是主机。您看到的空卷是预期的行为,因为它从VM中安装/Users/simon/source/test不存在,因此由docker创建并且为空。

为了实现您的目标,移动到VM或设置共享目录甚至更好,不要使用bind-mounts。请参阅Dockerfile的ADD作为替代方案。