Docker初识

为什么会有Docker?

虚拟化

虚拟化在计算机领域指的是一种资源管理的技术,是将计算机的各种实体资源,如网络,内存,存储空间等,进行抽象转换后呈现出来,打破实体结构件的不可切割的障碍,使用户可以用比原本的组态更好的方式来应用这种资源。

了解了虚拟化的概念之后,有用过虚拟机的同学应该就很清楚了,这不就是虚拟机么!但虚拟机的缺点很明显,开机慢,配置麻烦,以及性能落后等等,Docker也是虚拟化技术的一种,但是 Docker 在 LXC(Linux 容器技术)的基础上,进一步优化了容器的使用体验。 Docker提供了各种容器管理工具,让用户不用关心底层的操作,可以简单明了的使用容器。

Docker初识_第1张图片
虚拟机实现原理

Docker初识_第2张图片
Docker实现原理

上图是VM和Docker的区别。

Docker在运维何开发时的优势体现在这几个方面

  1. 拥有更快的交付和部署。
  2. 有更高效的资源利用。(因为是内核级别的虚拟化,不需要VM这类软件的支持)
  3. 更轻松的迁移和拓展。(全平台支持)
  4. 更简单的更新管理,使用Dockerfile,就可以替代以往大量的更新工作。

Docker三大概念

镜像(Image)

Docker Image 类似于虚拟机镜像,可以将它理解为一个面向 Docker 引擎的只读模板,包含了文件系统。镜像时创建 Docker 容器的基础。

容器(Container)

Docker容器类似于一个沙箱,Docker利用容器来运行和隔离应用。容器是从镜像创建的应用运行实力,可以将其启动、开始、停止、删除。容器是互相隔离、互不可见的。有一个细节需要注意,镜像自身是只读的,容器从镜像启动的时候,Docker会在镜像的最上层创建一个可写层,镜像本身是不变的。

仓库(Repository)

Docker 仓库类似于代码仓库,是 Docker 集中存放镜像文件的一个场所。(Docker仓库管理模式与Git十分相似)

几个常用命令

docker pull NAME[:TAG]                    // 从网上下载镜像
docker images                             //查看镜像信息
docker inspect                            //获取该镜像的详细信息
docker search TERM                        //从远端仓库中搜索共享的镜像
docker rmi IMAGE                          //删除景象

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]          //基于已有镜像容器创建一个新的镜像信息
docker save                  //存储镜像
docker load                  //载入镜像
docker push                 //上传镜像


docker create               //新建一个处于停止状态的容器
docker run                    //相当于docker create + docker start CONTAINER_NAME
docker stop --time     //在设定时间后停止一个容器
docker attach  CONTAINER           //进入容器内部,但如果多个窗口同时attach的话,所有窗口都会同步显示。
docker rm [OPTIONS] CONTAINER          //删除处于种植状态的容器。

你可能感兴趣的:(Docker初识)