文章内容主要来自官方文档,可以直接去看官方文档 Getting Started with Docker for Mac
It runs as a native Mac application and uses xhyve to virtualize the Docker Engine environment and Linux kernel-specific features for the Docker daemon.
要求
- Mac是2010及以上出的,有intel支持memory management unit (MMU) 虚拟化,i.e., Extended Page Tables (EPT)
- OS X 10.10.3 Yosemite 及以上系统
- 内存至少4G
- 不能安装4.3.30以前的VirtualBox版本,否则会和Docker for Mac不兼容
如果mac不满足上面的要求可以用Docker Toolbox来安装(但也要求OS X 10.8 “Mountain Lion”及以上),具体安装方法见参考。
安装
下载文件:https://download.docker.com/mac/stable/Docker.dmg (或https://docs.docker.com/docker-for-mac/ 这个页面上下载)
安装和其他app一样,安装后看版本信息
docker --version
docker-compose --version
docker-machine --version
刚开始写这篇文章时,docker for mac 只有beta版,今天(07-29)发布了stable版,如果你已经安装 beta 版,你安装的 Mac 版 Docker 将会仍然处于beta渠道,并且会自动更新到以后的beta发行版。要切换到稳定版本,只需下载并且运行稳定版本的安装器即可。现在修改上面下载链接为稳定版下载链接。
简单实例
docker ps //显示当前运行的容器(刚安装一般没有)
运行hello-world
docker run hello-world //运行hello-world这个容器,因为本地没有这个容器,他会自动从Docker Hub拉取"hello-world" image,本地也就从该image创建了一个新容器(docker的很多操作有点像git)
显示内容很多,最下面是
Share images, automate workflows, and more with a free Docker Hub account:
https://hub.docker.com
For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/
运行一个nginx的容器
docker run -d -p 80:80 --name webserver nginx //同样本地如果没有,会自动去Docker Hub拉取
http://localhost/
在浏览器上看下是否有 Welcome to Nginx!
docker ps -a //显示系统中的所有容器
常用设置
Preferences-->General
中有开机自动启动 docker
Preferences-->Advanced
中可以添加insecure registry 和 registry mirrors,以及设置HTTP代理
Preferences-->File Sharing
可以将Mac系统目录挂载到容器中
如果你正在使用 bash completion,可以启用 docker 的一些自动完成脚本,可以将应用中 docker 自动完成脚本文件复制或软链接到 bash_completion.d 目录,比如,你使用的了Homebrew,可以执行下面命令
cd /usr/local/etc/bash_completion.d
ln -s /Applications/Docker.app/Contents/Resources/etc/docker.bash-completion
ln -s /Applications/Docker.app/Contents/Resources/etc/docker-machine.bash-completion
ln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.bash-completion