Docker学习笔记1

一.docker简介

1.Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新。

2.Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

3.Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

4.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

5.作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。

 

二. 为什么使用docker

docker与传统虚拟机对比
特性 容器(docker) 虚拟机
启动 秒级 分钟级
硬盘使用 一般为 MB 一般为 GB
性能 接近原生 弱于
系统支持量 单机支持上千个容器 一般几十个

 

 

 

 

 

 

除此之外,docker还有很多的优点

1.一致的运行环境,docker可以统一开发,测试,生产环境。

2.简化流程,docker可以一次创建后,可以在任何地方运行,使得部署,迁移更方便

3.更轻松的维护和扩展,docker使用分层存储以及镜像技术,使得重复部分复用更简单,此外,docker还提供官方镜像

 

三. 基本概念

1. 镜像:

Docker 镜像(Image)就是一个只读的模板。例如:一个镜像可以包含一个完整的操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。

 

2.容器:

Docker 利用容器(Container)来运行应用。容器是从镜像创建的运行实例(镜像与容器的关系就像是类与对象之间的关系)。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。

 

3.仓库: 

仓库(Repository)是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。

仓库分为公开仓库(Public)和私有仓库(Private)两种形式。最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。国内的公开仓库包括 时速云 、网易云 等,可以提供大陆用户更稳定快速的访问。当然,用户也可以在本地网络内创建一个私有仓库。

当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

Docker 仓库的概念跟 Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。

 

4.Docker Hub

类似github的托管服务,主要是托管镜像,网址:Docker Hub

 

四. Docker安装

安装教程参考菜鸟教程

 

你可能感兴趣的:(docker)