卷装入不写出主机
我试图设置我的docker容器与主机机器目录挂载到容器写出日志。 我的dockerfile非常简单:
FROM golang:1.9.2 WORKDIR / COPY daemon / CMD ["./daemon", "-d", "debug"]
daemon
是Go程序的编译二进制文件。 我通过以下命令启动容器:
docker run -d --restart unless-stopped -v /var/log/scope/:/var/log/scope/ slack_daemon
其中slack_daemon
是上面的dockerfile内置的图像的名称。
但是,容器中的/var/log/scope
目录没有写出到主机中。 我在主机上放置的任何东西在容器中都是可见的,但是既没有写入现有文件,也没有在容器中的目录中创build新文件,而是写出到主机上。 docker或任何命令没有错误,它只是不写任何东西到主机目录。
在OSX 10.12.6上运行Docker 17.09.0-ce-mac35,稳定的通道。
我试过的东西:
- 运行
docker run
命令为sudo
。 - 将
--privileged
标志添加到docker run
。 - 在主机上的
/var/log/scope
上的chmod 777
。
我特别需要在主机和容器中的目录,因为我们的代码和日志处理程序都期望的位置,这将是目前这个问题的变化太大,以改变这一点。
任何指导,将不胜感激。 我可以find的网上大多数来源表明,这是一个SELinux问题,但我没有得到“权限被拒绝”的错误,这是OSX,而不是Linux。
我也检查了/var
目录本身。 它的别名为/private/var
:
lrwxr-xr-x@ 1 root wheel 11 Oct 30 10:54:11 2017 var -> private/var
而且/private
默认是docker文件共享设置中的一个共享目录。