Less Interests
More Interest
官网
www.docker-cn.com Docker中文网站
www.docker.com Docker官网
什么是Docker
解决了运行环境和配置问题的容器软件(容器虚拟化技术)
为什么会出现
通常开发结束将代码提交给运维,再由运维部署,但是通常运维和开发的环境或者配置文件不一致,导致项目不能运行。可否将开发的环境和配置整体打包给运维,docker带环境安装。直接将代码、环境和配置整体打包给运维。
Docker理念
Docker是基于Go语言实现的云开源项目
主要目标是:“Build,Ship and Run Any App , Anywhere”
一次封装,到处运行:只需要一次配置环境,换到别的机器就可一键部署好,简化了操作,解决中途环境配置等错误
虚拟机技术(virtual machine)
带环境安装的一种解决方案,可以在一种操作系统里面运行另一种操作系统,对于底层系统来说。虚拟机就是一个文件,虚拟机就是完完全全模拟一台机器,包括软件、硬件。资源占用多,启动慢。
容器虚拟技术
由于虚拟机存在很多缺点,Linux发展出另一种虚拟技术:Linux容器(Linux Container),只需要将软件运行需要的资源打包到一个隔离容器中,不需要捆绑一整套操作系统,容器内没有自己的内核,依赖于宿主的内核。不仅可以保证软件的运行,而且更加轻量化(centos镜像仅200M左右)。
Docker组成
Docker三要素
镜像(Image):一个只读模板,可以用来创建Docker容器,类比Java中的类。
容器(Container):Docker利用容器运行一个或者一组应用,容器是由镜像创建的实例。每个容器都是相互独立,各不干扰的平台,类比Java的实例对象。
仓库(Repository):集中存放镜像文件的场所,仓库分为公开仓库(Public)和私用仓库(Private),最大的公开仓库是Docker Hub(https://hub.docker.com/)。
Docker本身是一个容器运行载体或者称为管理引擎。我们把应用程序和依赖配置打包好形成一个可交付的运行环境,这个打包好的环境就是镜像,只有通过镜像才能生成Docker容器。image可以看作是容器的模板。而仓库只是存放了一堆镜像的地方。