目录隐藏 |
为什么在Mac下挂载宿主目录/usr/local/nginx不成功? | |
虽然 Docker 团队尽量让使用
Docker Toolbox,
Docker for Mac and
Docker for Windows 的用户感觉操作 Docker 就像在 Linux 下一样,但实际上在 Mac/Windows 上并非是直接运行 Docker 的。中间经过了一个 Linux 虚拟机,而 Docker 运行在那个虚拟机里。 因此 Mac 主机上的目录实际上并不是 Docker 眼中的宿主目录,为了让用户尽量感觉不到这个差异,Boot2Docker 或者 Docker for Mac / Windows 中,将一部分物理主机的目录映射到了 Linux 虚拟机中,这样其上 Docker 就可以访问到这些物理机的目录了。 出于安全考虑,并不会把物理机的所有目录都映射到 Linux 虚拟机内。一般来说只有当前用户目录在内的一些目录会被映射到 Linux 虚拟机内,比如 /Users, /Volumes 等。 对于 Docker for Mac 的用户,可以直接在配置界面 File Sharing 中添加额外的映射目录,但是,出于安全考虑,不添加额外映射,而使用当前用户目录下的目录,是更好地做法。 |
|
听说 Windows 10、Windows Server 2016 内置 Docker 了?和 Docker 官网下载的 Docker for Windows 有什么区别啊? | |
二者完全不同。 Windows 10 或者 Windows Server 2016 自带的 Docker,被称为 Docker on Windows,其运行于 Windows NT 内核至上,以 Docker 类似的方式提供 Windows 容器服务,因此只可以运行 Windows 程序。 而 Docker 官网下载的,被称为 Docker for Windows。这是我们常说的 Docker,它是运行于 Linux 内核上的 Docker。在 Windows 上运行时实际上是在 Hyper-V 上的一个 Alpine Linux 虚拟机上运行的 Docker。它只可以运行 Linux 程序。 Docker on Windows 极为臃肿,最小镜像也近 GB,启动时间并不快;而 Docker for Windows 则是正常的 Docker,最小镜像也就几十 KB,一般的镜像都在几百兆以内,而且启动时间基本是毫秒级。 希望对 Docker on Windows 有所了解的童鞋可以看一下一个 DockerCon 的视频,是由微软负责 Docker 项目的构架师进行的介绍,从中可以看到第一手的信息,Windows 到底有多惨。 |