Mac上配置基于Docker的开发环境
获取Docker工具包
docker目前分为商业版(EnterPrise Edition简称ee)和社区版(Community Edition简称ce)
docker ce官网地址:https://www.docker.com/community-edition#/download
下载的时候需要有 DockerID,下载完成以后是一个dmg的包,将近500m的大小。
安装工具&验证
常规的双击dmg安装,然后drag & drop到Application目录下,你就可以再launchpad中找到docker了。安装以后大约占用1.7G的空间。
安装完成以后,在Terminal中1
2
3
4
5 docker --verison # 查看docker的版本信息
docker run hello-world # 验证是否可以拉取到镜像
如果出现了该错误,unauthorized: incorrect username or password. 执行以下操作
docker logout
下载镜像 / 启动服务
镜像的下载源是hub.docker.com,当然你也可以配置到国内的镜像源上,有空再说。
1 | 启动一个 Nginx Webserver 玩玩 |
上面 docker run
的操作背后,其实隐藏了一些逻辑
- 从本地镜像中找名字叫nginx的镜像
image
- 如果没找到,则从镜像仓库里面去下载该镜像
image
- 下载完成以后,启动一个名称叫webserver的容器
container
- 将本机的80端口映射到镜像中的80端口
- 于是,你通过本机访问 localhost:80 其实就是访问镜像中的web服务了
容器操作
容器可以看成是一个虚拟机,跟你买回家的电脑一样的,每一台电脑都是独一无二的,里面装的东西跑的软件都是独一无二的。但是它可以非常方便的创建和销毁,这跟虚拟机有本质的区别。
1 | docker start webserver |
镜像操作
前面说了,容器是虚拟机,那么虚拟机里面跑的软件哪里来?答案是从镜像中继承过来。
1 | docker image ls # 列出当前机器上所有的镜像 |
小技巧:命令自动补全
如果你用的是bash,复制以下代码到你的terminal中,注意:需要homebrew的支持
1 | for bash |
如果你用的是zsh,则复制粘贴以下代码
1 | for zsh |
镜像加速服务
我用的是daocloud的docker镜像服务,地址为:https://www.daocloud.io/mirror#
开通以后,daocloud会分配一个专有的加速器地址形如 http://xxxxx.m.daocloud.io
将这个地址配置到 docker->Preferences->Daemon->Registry mirrors
以上算是对docker有了基本的认识,接下来,再去聊如何配置本地的开发环境。