之前说过Docker的好处,Docker可以集装箱化的部署应用程序。那么Docker是通过什么实现的呢。要理解Docker内部构建,需要先理解Docker的四种部件

1)images:镜像,docker镜像是docker容器运行时的模板,一个镜像就是一个应用程序的模板。比如我用Docker创建一个Ubuntu,那就得        建立一个ubuntn的镜像,这个镜像就像是印刷术里面的板子,如果我需要再创建一个Ubuntu系统,就可以重复利用这个镜  像。镜像是由一系列的层(layers)组成,Docker使用UnionFS将这些层联合到单独的镜像,当你需要升级或者改变镜像的时候,
                  一个新的层就会被创建,不需要删除或者覆盖整个镜像。获取镜像,可以自己写一个Docker_file来创建,也可以从Docker                       Hub里面下载

2)docker仓库:docker仓库用来保存镜像,Docker仓库有公有和私有的概念,公有的Docker仓库名字是Docker Hub,Docker Hub里面                    提供里非常多的images,我们可以获得很多自己想要的镜像.https://hub.docker.com/ 这个就是Docker Hub的网址,里面有很多镜
                 像可以看看。

3)container:容器,docker容器中包含了某个应用运行的所有环境和程序,每一个容器都是由镜像创建而来。Docker容器可以停止,开                  始,删除,移动。

4) docker file:用来创建docker images的文件,可以根据自己的需要,创建自己要的images。以后会具体学习Docker File的

在安装Docker之前,我们需要知道,安装Docker本身是一个很烦的过程,但是我们可以借助工具,很轻松的安装Docker。原先,我们使用Boot2Docker在OSX下管理Docker。在Docker发布了Toolbox之后,新增了Docker Machine命令行。通过docker-machine,可以让我们一致化的命令在本地或者云计算上创建docker服务。以下boot2docker和docker-machine命令的对照表


在安装之前,我们还需要下载一个Virtualbox,用来管理虚拟机,因为Docker是在Linux上运行的,在Mac OS,和windows上,都必须创建一个Linux的虚拟机来作为桥梁运行Docker

1.用homebrew 安装docker 和docker-machine

2.创建一个名字为default的虚拟机

这个时候,查看Virtual Box会发现里面多了一个虚拟机

3.初始化环境变量

docker-machine env default 显示宿主机需要为default 虚拟机设置环境变量的指令。

然后按照提示执行 eval $(docker-machine env default)

这里要解释一下,如果,不设

置环境变量的话,Docker就无法在default虚拟机链接,会提示: Cannot connect to the Docker daemon. Is the docker daemon running on this host。

我们可以在环境变量里添加eval $(docker-machine env default) 。

这样的话,docker就安装完了。

最新文章

  1. Office 365 如何使用powershell查询邮件追踪
  2. loadrunner备忘
  3. solr与.net系列课程(六)solr定时增量索引与安全
  4. Moodle插件之Filters(过滤器)
  5. 动态加载 移除js file
  6. oracle16 例外
  7. Bootstrap V3使用Tab标签
  8. 手把手编写PHP MVC框架实例教程
  9. Django网站制作根目录,巧用404,可访问根目录任意网页
  10. split函数用法
  11. Python随笔--魔法方法(析构与构造)
  12. ~/.bashrc与/etc/profile的区别
  13. CAP:Alantany 谈 CAP
  14. React内三种函数的写法
  15. LeetCode 失败的尝试 10. regular expression matching & 正则
  16. tcp/udp只发不接,会丢包还是send失败?
  17. swoole_table应用类
  18. 最近遇到的几个问题,关于Unity脚本在Inspector视图中前面没有勾选框的问题
  19. DOM学习日记1
  20. C语言不定参数

热门文章

  1. mysql中,什么是视图,视图的作用是什么?
  2. okHttp3自用封装
  3. 如何打造千万级Feed流系统
  4. MySQL------如何关闭打开MySQL
  5. Java显示指定类型的文件
  6. jdbc数据访问技术
  7. JS有趣的单线程
  8. OpenGL资料
  9. Oracle存储过程入参传入List集合的小例子
  10. postgres外部表之-oracle_fdw