前言

之前有用docker-machine的方式在mac上实现了docker的使用,具体可以看这里:Mac下安装使用Docker

今天去Docker的官网逛了下,居然发现有原生的Mac app应用,地址:https://www.docker.com/products/docker#/mac

简单看了下文档,原理上仍然是通过虚拟机的方式,使用了xhyve 虚拟化技术,但大大提高了使用体验,基本上已经分不出跟原生mac app应用的区别.

入门文档:https://docs.docker.com/docker-for-mac/

安装

一 下载Docker.dmg.分stable和beta两个版,这里下载了stable版.

二 卸载原来的docker和docker-machine.如果之前没有安装,可以略过这一步. 具体根据原来的安装方式来卸载,我之前是用brew安装的,依然使用brew卸载:

selflydeMacBook-Pro:~ liyd$ brew uninstall docker-machine
selflydeMacBook-Pro:~ liyd$ brew uninstall docker

三 之后跟Mac的app安装方式一样,只需要将docker.app拖到Applications文件夹就可以了. 第一次运行的时候会让你输一下用户密码授权进行一些操作,之后会在上面的菜单栏中驻留一个图标.

输入图片说明

查看/usr/local/bin目录,会发现多了以下几个symbolic link:

selflydeMacBook-Pro:~ liyd$ ll /usr/local/bin/ |grep docker
lrwxr-xr-x  1 liyd  staff    64 10 15 16:55 docker -> /Users/liyd/Library/Group Containers/group.com.docker/bin/docker
lrwxr-xr-x  1 liyd  staff    72 10 15 16:55 docker-compose -> /Users/liyd/Library/Group Containers/group.com.docker/bin/docker-compose
lrwxr-xr-x  1 liyd  staff    72 10 15 16:55 docker-machine -> /Users/liyd/Library/Group Containers/group.com.docker/bin/docker-machine
lrwxr-xr-x  1 liyd  staff    64 10 15 16:55 notary -> /Users/liyd/Library/Group Containers/group.com.docker/bin/notary

这个在docker启动时创建,如果不小心删除,只需要重启docker即可.

使用

到这里就可以像在Linux中一样使用docker了,完全省去了之前的docker-machineeval操作.

更方便的一点是,之前使用docker-machine时连接docker内应用如数据库连接时需要获取并使用创建的虚拟机IP,这个ip伴随着启动是可能会变的,而现在可以直接使用localhost了.

恢复镜像

全新使用可以直接从官方pull需要的镜像,因为之前使用过docker-machine,本地备份了镜像,直接恢复来的快一点,毕竟一个oracle镜像就2G多,重新pull要消耗大把的时间.

使用命令恢复镜像:

docker load -i ~/docker/oracle-backup.tar

却报出了如下错误:

Could not read CA certificate "/Users/liyd/.docker/machine/machines/oracle-dev/ca.pem": open /Users/liyd/.docker/machine/machines/oracle-dev/ca.pem: no such file or directory

这里让我蒙了一下,没听说过备份docker镜像还需要CA证书的.

看路径使用了我原来安装docker-machine的目录,查看环境变量:

selflydeMacBook-Pro:~ liyd$ echo ${!DOCKER*}
DOCKER_CERT_PATH DOCKER_HOST DOCKER_MACHINE_NAME DOCKER_TLS_VERIFY

发现仍然有4个环境变量,查看其值依然是之前老的目录及虚拟机值,看来Homebrew卸载也不是那么干净.

但是我找遍/etc/profile,/etc/bashrc,~/.bash_profile发现均没有设置这些环境变量,不知道是哪里进去的,如有知道请告知下,谢谢!

既然找不到,直接把它删除:

selflydeMacBook-Pro:~ liyd$ unset ${!DOCKER*}

再次恢复镜像,成功!

使用Kitematic

在docker菜单中有个Kitematic选项,可以选择下载,目前还是beta版.

Kitematic是一个可视化的docker容器管理应用,如果之前有使用过虚拟机的话,会发现其界面及操作类似,很容易上手,具体看一下界面就能明白:

输入图片说明

最后

总的来说Docker for Mac比原来的docker-machine简单方便不少,个人使用后感觉相当不错,推荐更新!

你可能感兴趣的内容
Docker安全部署的17条建议 收藏,2924 浏览
网络工程师眼中的docker 收藏,3319 浏览
0条评论

selfly

交流QQ群:32261424
Owner