docker是一种虚拟技术。团队间的合作,如果不想被运行环境 or 各种依赖烦死的话,最明智的做法就是把依赖环境都装在docker里面,做好可移植,开发效率biu~biu~的。本篇将详细说明一下docker的各个方面,为以后做好整理。
一、为什么要用Docker?
说白了就是这几个原因:
- 为了快。 VMWare吃资源,每建立一个虚拟机就要建立一个os。给别人传的时候大小能达到G级的,太重。Docker各个镜像是共享资源的,资源利用率很高,containers是基于一个os上的。给别人传的时候是M级的,轻量。(官网有个对比图,这里就不放了,读者可自行查看)
- 为了复用。 有些项目,基本的依赖库都差不多,只是配置有变化(比如端口号不一样),这时候就只用把有变化的镜像打包出来,传给其他小伙伴,就可以复用了,效率很高
- 不再为环境烦恼。 在dokcer中配置好环境之后,可移植到别的环境中,直接就可以跑起来你的代码,不用自己再搭环境了。也解决了环境版本不一致的问题。
还有其他原因,这里不详述了。
二、安装前的准备
由于我们伟大的墙,我在安装过程中遇到了许多无(ling)力(ren)吐(fa)槽(zhi)的问题。版本迭代地很快,除了最新的版本,其他的都是历史,所以我们有必要了解一下都有什么改变了。
2.1 Mac系统要运行docker,必须要在10.8以上
查看你的版本号,记得及时更新~
2.2 关于 boot2docker
这东西要把我气死了,就是它一直卡我,卡了几天,一定要把这个说明白了!(敲黑板)
关于
boot2docker init
这个操作:
1.一般网上博客的套路就是叫你先装boot2docker:brew install boot2docker
;
2.然后再装docker:brew install docker
;
3.再配置环境变量:export DOCKER_HOST=tcp://127.0.0.1:4243
;
4.所有的都没毛病,嗯,就最后一步:boot2docker init
卡死我(手动微笑)关于
boot2docker init
的报错1:
由于伟大的墙,所以一直给你卡在Downloading image那块,如果要好的话,估计得等到一千年以后了
这里需要全局翻墙,由于最近风口浪尖&我懒不想搞,所以就尝试了别的方法。祝愿全局翻墙的宝宝成功哟~下面的成功截图,是我尝试的解决方法2&3之后,突然自己抽风给装好了,在这之前我下面的三种解决方法都不管用,如果你够欧,可能方法一就好了也不一定哈哈,毕竟这是个看脸的世界~