- 一、 Docker 的四大组成对象
- 二、搭建运行 Docker 环境
- 三、在 Windows 和 Mac 中使用 Docker
- 四、使用容器:镜像与容器
- 五、使用容器:从镜像仓库获得镜像
- 六、使用容器:运行和管理容器
- 七、为容器配置网络
- 八、管理和存储数据
- 九、操作镜像:保存和共享镜像
- 十、操作镜像:通过 Dockerfile 创建镜像
- 十一、常见 Dockerfile 使用技巧
- 十二、使用 Docker Hub 中的镜像
- 十三、组合操作:使用 Docker Compose 管理容器
- 十四、组合操作:常用的 Docker Compose 配置项
- 十五、组合操作:编写 Docker Compose 项目
- 十六、组合操作:应用于服务化开发
三、在 Windows 和 Mac 中使用 Docker
3.1 Docker Desktop
对于 Windows 系统来说,安装 Docker for Windows 需要符合以下条件
- 必须使用
Windows 10 Pro
( 专业版 ) - 必须使用
64 bit
版本的Windows
对于 macOS 系统来说,安装 Docker for Mac 需要符合以下条件
Mac
硬件必须为2010
年以后的型号- 必须使用
macOS El Capitan 10.11
及以后的版本
另外,虚拟机软件 VirtualBox
与 Docker Desktop
兼容性不佳,建议在安装 Docker for Windows
和 Docker for Mac
之前先卸载 VirtualBox
在确认系统能够支持 Docker Desktop
之后,我们就从 Docker
官方网站下载这两个软件的安装程序,这里直接附上 Docker Store
的下载链接,供大家直接下载
3.2 启动 Docker
- 像
Linux
中一样,我们要在Windows
和macOS
中使用Docker
前,我们需要先将Docker
服务启动起来。在这两个系统中,我们需要启动的就是刚才我们安装的Docker for Windows
和Docker for Mac
了… - 启动两个软件的方式很简单,我们只需要通过操作系统的快捷访问功能查找到
Docker for Windows
或Docker for Mac
并启动即可 - 打开软件之后,我们会在
Windows
的任务栏或者macOS
的状态栏中看到Docker
的大鲸鱼图标
Docker Desktop
为我们在 Windows
和 macOS
中使用 Docker
提供了与 Linux
中几乎一致的方法,我们只需要打开 Windows
中的 PowerShell
获得 macOS
中的 Terminal,亦或者 Git Bash
、 Cmder
、 iTerm
等控制台类软件,输入 docker
命令即可…
使用 docker version
能够看到 Docker
客户端的信息,我们可以在这里发现程序运行的平台
λ docker version
Client:
## ......
OS/Arch: windows/amd64
## ......
3.3 Docker Desktop 的实现原理
我们知道 Docker
的核心功能,也就是容器实现,是基于 Linux
内核中 Namespaces
、 CGroups
等功能的。那么大体上可以说, Docker
是依赖于 Linux
而存在的。那么问题来了, Docker Desktop
是如何实现让我们在 Windows
和 macOS
中如此顺畅的使用 Docker 的呢?…
- 其实
Docker Desktop
的实现逻辑很简单:既然Windows
和macOS
中没有Docker
能够利用的Linux
环境,那么我们生造一个Linux
环境就行啦!Docker for Windows
和Docker for Mac
正是这么实现的… - 由于虚拟化在云计算时代的广泛使用,
Windows
和MacOS
也将虚拟化引入到了系统本身的实现中,这其中就包含了之前我们所提到的通过Hypervisor
实现虚拟化的功能。在Windows
中,我们可以通过Hyper-V
实现虚拟化,而在macOS
中,我们可以通过 HyperKit 实现虚拟化… Docker for Windows
和Docker for Mac
这里利用了这两个操作系统提供的功能来搭建一个虚拟Linux
系统,并在其之上安装和运行docker daemon
。
除了搭建 Linux
系统并运行 docker daemon
之外, Docker Desktop
系列最突出的一项功能就是我们能够直接通过 PowerShell
、 Terminal
这类的控制台软件在 Windows
和 macOS
中直接操作虚拟 Linux 系统中运行的 docker daemon…
3.4 主机文件挂载
- 控制能够直接在主机操作系统中进行,给我们使用 Docker Desktop 系列软件提供了极大的方便。除此之外,文件的挂载也是 Docker Desktop 所提供的大幅简化我们工作效率且简化使用的功能之一。
- 之前我们谈到了,Docker 容器中能够通过数据卷的方式挂载宿主操作系统中的文件或目录,宿主操作系统在 Windows 和 macOS 环境下的 Docker Desktop 中,指的是虚拟的 Linux 系统。
- 当然,如果只能从虚拟的 Linux 系统中进行挂载,显然不足以达到我们的期望,因为最方便的方式必然是直接从 Windows 和 macOS 里挂载文件了。
- 要实现我们所期望的效果,也就是 Docker 容器直接挂载主机系统的目录,我们可以先将目录挂载到虚拟 Linux 系统上,再利用 Docker 挂载到容器之中。这个过程被集成在了 Docker Desktop 系列软件中,我们不需要人工进行任何操作,整个过程已经实现了自动化…
Docker Desktop
对 Windows
和 macOS
到虚拟 Linux
系统,再到 Docker
容器中的挂载进行了实现,我们只需要直接选择能够被挂载的主机目录 ( 这个过程更多也是为了安全所考虑 ),剩下的过程全部由 Docker Desktop 代替我们完成。…
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论