Docker入门与实战
一.初识Docker
Docker是基于Go语言的开源项目,其构象是要实现 “ Build,Ship and Run Any App,Anywhere”,即通过对应用的封装(Packaging),分发(Distribution),部署(Deployment),运行(Runtime)生命周期进行管理,达到应用组件级别的“一次封装,到处运行”的效果。
与传统虚拟机相比所具有的优势:
代码语言:txt复制1.启动速度快,几乎可以达到秒级
代码语言:txt复制2.对系统资源需求小,一台主机上甚至可以运行上千个Docker容器
代码语言:txt复制3.能够实现类似于GIt的存储复用、增量更新
代码语言:txt复制4.通过Dockerfile实现灵活的自动化创建与部署
二.Docker中的相关概念
镜像(Image) :
代码语言:txt复制相当于一个只读的模板,是创建Docker容器的基础。用户可以通过一个版本控制&增量的文件系统来下载一个已经制作好的应用镜像,并直接使用。
代码语言:txt复制e.g. : 一个镜像可能为 仅安装了Apache的镜像。
容器(Container):
代码语言:txt复制相当于一个轻量级的沙箱(sandbox),Docker通过其来运行与隔离应用。容器其实是镜像的一个应用运行实例,它可以启动,开始,停止,删除,而这些操作,在不同容器之间是不可见的。
镜像本身是制度的,容器从镜像启动时,会在镜像的最上层创建一个可写层。--《Docker技术入门与实践》
仓库(Repositiory):
是Docker集中存放镜像的场所,类似于代码仓库。
注意:仓库注册服务器是存储仓库的场所,也就是说,其上面可以存放多个Docker仓库
用户可以将自己创建的镜像经push指令上传至公有/私有仓库,或者通过pull从远程仓库下载自己心仪的镜像。