《Docker技术入门与实战(第3版)》——2.2.4 macOS环境下安装 Docker
2.2.4 macOS环境下安装 Docker
Docker 官方非常重视其在 Mac 环境下的易用性。由于大量开发者使用Mac环境进行开发,而Docker是一个完整的容器化应用的开发环境,所以Docker官方提供了简单易用的 Docker for Mac(https://docs.docker.com/docker-for-mac/)工具。Docker for Mac 其实是一个完整的 Docker CE工具。下面我们一步步讲解如何正确安装 Docker for Mac。
1.选择版本
目前用户可以选择稳定版(Stable)或测试版(Beta),这两个版本都可以通过配置Docker Daemon来开启一些实验特性。配置时,只要启动 Docker daemon 时带上--experimental参数即可。或者通过修改/etc/docker/daemon.json配置文件中的experimental字段,如下所示:
{
"experimental": true
}
也可以使用如下指令直接确认实验特性是否开启:
$ docker version -f '{{.Server.Experimental}}'
true
目前的实验特性主要有ipvlan网络驱动、显卡插件、分布式应用包(Distributed Application Bundles)、监测点(Checkpoint)、回滚(Restore),以及使用squash参数构建镜像。详细的实验特性说明可参见https://github.com/docker/docker-ce/blob/master/components/cli/experimental/README.md。
官方建议在生产环境中关闭这些实验特性。
稳定版(stable channel)经过完整测试和精心维护,可用于关注稳定性的生产环境。稳定版每个季度(3个月)发布一次。稳定版用户可以选择是否允许 Docker 收集使用情况统计或其他数据。稳定版下载地址为https://download.docker.com/mac/stable/Docker.dmg。
测试版(edge channel)包含最新的工具和特性,甚至会包含一些开发中的特性。测试版适用于希望尝鲜并有能力处理异常或Bug的用户,并且默认收集所有用户使用数据。测试版每月发布一次。测试版下载地址为https://download.docker.com/mac/edge/Docker.dmg。
2.安装须知
Docker for Mac 与 Docker Machine 的关系是互不影响。用户可以从本地default machine 拷贝容器和镜像至 Docker for Mac 的 HyperKit VM中。HyperKit是Docker开源的支持OSX的轻量级虚拟化工具包。它基于MacOSX 10.10之后引入的Hypervisor框架。HyperKit应用可以利用硬件虚拟化运行VM,但无须特殊权限或者复杂的管理工具栈。关于HyperKit的详细信息参见https://github.com/moby/hyperkit。
当用户运行 Docker for Mac 时,本机或远程均无须运行 Docker Machine。用户使用的是一套新的原生虚拟化系统,不再需要VirtualBox。如果希望了解更多两者对比情况,参见https://docs.docker.com/docker-for-mac/docker-toolbox/。
Docker for Mac 支持 macOS El Capitan 10.11 及其后续版本。最小要求是 macOS Yosemite 10.10.3,同时 Docker 并不保证可以完全支持 10.10.X,Docker for Mac从版本1.13 开始,不再支持 10.10 版本的 macOS。
3.下载运行 Docker for Mac
首先,选择需要的版本并下载。双击打开Docker.dmg文件,将Docker.app拖至应用程序(或Applications)文件夹即可。
Docker 应用启动后,在任务栏会多出一个小图标,如图2-3所示。
用户可以通过这个图标打开 Docker 应用,并进行配置。
4.验证
安装成功后,可以确认运行的 Docker 版本信息。如果用户环境已安装过Docker环境,则可能存在老版docker-py,为了防止冲突,需要重新安装:
$ sudo pip uninstall docker-py
$ sudo pip uninstall docker
$ sudo pip install docker
此时运行指令已不会提示冲突:
$ docker-compose --version
docker-compose version 1.18.0, build 8dd22a9
用户还可以执行docker version获取更全面的版本信息:
$ docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:13:02 2018
OS/Arch: darwin/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.03.1-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:22:38 2018
OS/Arch: linux/amd64
Experimental: false
可见正常输出客户端和服务端版本信息,以及实验特性默认关闭。如果 Docker for Mac 启动失败或关闭状态,则会出现Error response from daemon: Bad response from Docker engine提示。
下面启动一个 Nginx 容器,检查能正确获取镜像并运行:
$ docker run -d -p 80:80 --name webserver nginx
然后使用docker ps指令查看运行的容器:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5d756726c17c nginx "nginx -g 'daemon of…" 49 seconds ago Up 48 seconds 0.0.0.0:80->80/tcp webserver
可见Nginx容器已经在0.0.0.0:80启动,并映射到80端口。打开浏览器访问此地址,如图2-4所示。
5.常用配置
点击系统状态栏的 Docker 图标可以访问管理菜单,如图2-5所示。
About Docker页面呈现已安装的各组件版本信息、更新通道(稳定版或测试版),以及更新记录(Release Notes)、声明、版权信息等,如图2-6所示。
点击菜单的Preferences项,打开配置管理界面。其中,General页面可以配置自动启动配置、升级、备份,以及使用数据收集配置,如图2-7所示。
在File sharing(文件共享)页面中,用户可以选择哪个Mac本地文件夹与容器共享。点击+后可以继续添加本地目录,点击Apply&Restart按钮生效,这里其实使用了-v参数,如图2-8所示。
在Disk页面中,可以配置磁盘路径,并可以修改虚拟磁盘大小,如图2-9所示。
在Advanced页面中,可以修改本机分配给Docker的计算资源,如CPU、内存和存储位置,如图2-10所示。
在Proxies页面中,可以配置Pull操作时的代理配置,如图2-11所示。
在Daemon页面中,用户可用两种方式(基础模式/高级模式即JSON)配置 Docker 守护进程,可以选择自定义镜像、开启尝鲜模式等,如图2-12所示。
点击Reset按钮,用户可以选择重启Docker、删除所有 Docker 数据、恢复出厂设置、重装Docker等操作。
6. Kitematic
通过菜单可以安装Kitematic工具管理本地镜像,点击提示框中的下载地址,如图2-13所示。
下载Kitematic-Mac.zip并解压缩至应用程序文件夹(或Applications),双击打开Kitematic.app,如图2-14所示。
图2-14 下载Kitematic
进入Docker Hub登录页面,用户可以选择暂时不登录,直接进入主页面,如图2-15所示。
图2-15 进入Docker Hub登录页面
主页面可见多种常用镜像,点击CREATE即可直接创建容器,如图2-16所示。
图2-16 创建容器
以hello-world-nginx镜像为例。点击CREATE后进入下载页面,如图2-17所示。
图2-17 下载镜像
容器运行后,在主页可见运行日志、挂载磁盘(双击可以直接打开)、浏览器预览以及容器配置(Settings)等,如图2-18所示。
图2-18 容器主页
进入配置页面,可见hostname、port,以及卷、网络等配置,如图2-19所示。
用户此时可以打开浏览器访问http://localhost:32768,查看示例页面。
图2-19 配置页面
- 点赞
- 收藏
- 关注作者
评论(0)