Docker 是一个开源的应用容器引擎 ,让开发者可以打包他们的应用及依赖环境到一个可移植的容器中,然后发布到任何运行有Docker引擎的机器上。

让大家可以随心所欲地使用软件而又不会深陷到环境配置中。

结构与特性 

和Java虚拟机类似,Docker使用容器引擎解决平台依赖问题,它在每台宿主主机上启动一个Docker守护进程,守护进程屏蔽了与具体平台相关的信息

对上层应用提供统一的接口。Docker化的应用就可以在多个平台下运行,Docker会针对不同的平台,解析给不同平台下执行驱动、存储驱动和网络启动

去执行。

Docker采用C/S架构,包含Docker Server和Docker Client。Docker Daemon作为server,在宿主机上以后台守护进程的形式运行。Docker

Client可以在本机上以bin命令形式发送指令,也可以通过RESTful的形式发送指令。

Docker引入了分层概念。

把一个应用分为任意多个层,  如果两个应用有相同的底层,就可以共享这些层。层次是有优先级的,上层和下层有相同的文件和配置时,

上层覆盖下层,数据以上层的数据为准。

每个应用一个优先级最高的空白层,如果要修改下层的文件,就把这个文件拷贝到这个优先级最高的空白层进行修改,保证下层的文件不做任何修改

                                                       

在Docker的官方仓库里,只需它有完整的文件系统和程序包,没有动态生成新文件的需求;当把它下载到宿主机上运行对外提供服务时,有可能

修改文件,需要有空白层用于写时拷贝。Docker把这两种不同的状态做了区分,分别叫做镜像和容器。

在仓库中的应用都是以镜像的形式存在的,把镜像从Docker仓库下拉到本机,以这个镜像为模板启动应用,叫容器。

Docker位于操作系统和虚拟容器(lxc或libcontainer)之上,他通过调用cgropu、namespace和libcontainer等系统层面的接口完成资源分配与相互隔离。

docker version    #查询docker版本号

docker search <image_name>    #查询镜像

  Docker官方镜像在仓库中的全名格式:

  <username>/<repository>

  每个用户都可以在Docker官方镜像仓库注册自己的账户,发布自己的Docker镜像,使用“用户名+镜像名”的命名方式,可让用户拥有相同的镜像名互不干扰。

docker pull <image_name>    #下载镜像

docker run    #创建和运行Docker容器,它至少有两个参数,一个是镜像名,一个是在容器中需要运行的命令(在费交互模式下安装软件不要忘了使用“-y”)。

docker commit    #把容器提交为新镜像。

docker push    #上传新镜像到Docker仓库

docker images    #显示当前主机上所有的镜像。

Docker 概述的更多相关文章

  1. Docker概述

    Docker概述 Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全可以使用沙盒机制,互 ...

  2. 1、Docker概述与安装

    1.Docker概述 原文地址:https://docs.docker-cn.com/engine/docker-overview/#docker-engine Docker是一个开发,集装,运行应用 ...

  3. docker概述及基础操作

    docker概述 容器技术已经成为应用程序封装和交付的核心技术容器技术的核心有以下几个内核组成CGroups-资源管理NamsSpace-进程管理SElinux-安全 由于是在物理机上实施隔离,启动一 ...

  4. Docker(一)Docker概述

    Docker概述 概述 Docker是供开发人员和系统管理员 使用容器构建,运行和共享应用程序的平台.使用容器来部署应用程序称为容器化.容器不是新的,但用于轻松部署应用程序的容器却是新的. 容器化越来 ...

  5. 【Docker】Docker概述、理解docker的集装箱、标准化、隔离的思想、 docker出现解决了什么问题

    整理一下 慕课网 第一个docker化的java应用 Docker环境下的前后端分离项目部署与运维 课程时所做的笔记 Docker概述 docker - https://www.docker.com/ ...

  6. Docker系列(一)Docker概述,核心概念讲解,安装部署

    部分内容参考链接: Docker实战总结(非常全面,建议收藏) 一. Docker概述 Docker是一个开源的应用容器引擎(基于Go语言开发),让开发者可以打包他们的应用以及依赖包到一个可移植的容器 ...

  7. docker概述和安装及基本操作

    一:概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用 ...

  8. docker概述和安装

    一:概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用 ...

  9. 【Docker】Docker概述

    [Docker] Docker可以说是近几年非常热门的技术之一了.不管是别人敦促我还是从自己的想法来说,都觉得Docker这玩意儿肯定是要好好学习一下的,无奈没啥时间专门播出来给Docker,一直以来 ...

  10. Docker学习笔记2: Docker 概述

    一.什么是Docker Docker是基于Go语言实现的云开源项目. Docker 的主要目标是:"Bulid,Ship and  Run Any App ,AnyWhere" , ...

随机推荐

  1. python列表解析式,字典解析式,集合解析式和生成器

    一.列表解析式(列表推倒式): 功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表. 1 lst = [1, 3, 5, 8, 10] 2 ll = [x+x for x in ls ...

  2. Matplotlib学习---matplotlib的一些基本用法

    Matplotlib有两种接口,一种是matlab风格接口,一种是面向对象接口.在这里,统一使用面向对象接口.因为面向对象接口可以适应更复杂的场景,在多图之间进行切换将变得非常容易. 首先导入matp ...

  3. 【BZOJ4653】【NOI2016】区间 线段树

    题目大意 数轴上有\(n\)个闭区间\([l_1,r_1],[l_2,r_2],\ldots,[l_n,r_n]\),你要选出\(m\)个区间,使得存在一个\(x\),对于每个选出的区间\([l_i, ...

  4. django-pure-pagination 组件使用

    django-pure-pagination 组件 用于在 django 中自动创建分页 官方详见 github : 这里 安装 pip install django-pure-pagination ...

  5. SQL中使用循环结构

    解答 FOR,LOOP,WHILE,REPEAT是UDB/400的一种内部循环控制,用于遍历表中符合条件的每一行记录. 例如:目的:更新employee库,把所有北京籍员工的工资提高10% 例一:使用 ...

  6. sshfs && tailon

    sshfs 安装yum install glib2-devel fuse-sshfs官方版本地址https://github.com/libfuse/sshfs/releases目前最新版本:wget ...

  7. Nginx反向代理后端多节点下故障节点的排除思路

    仔细想来,其实是个非常简单的问题:开发和运维觉得两个后端节点跑起来压力太大了,就扩充了两个新的后端节点上去,这一加就出问题了,访问时页面间歇性丢失,这尼玛什么情况...想了半天没思路,查了Nginx的 ...

  8. jenkins自动打包部署项目

    首先去jenkins的官网下载安装包 https://jenkins.io/   个人下载是长期稳定的那个版本,下载后,得到一个.msi的安装包: 点击进行安装,然后一直点击下一步. jenkins会 ...

  9. 洛谷P1896 互不侵犯

    又是一道状压DP求方案数的题... 多了一个放k个的限制,于是我们把数组多开一维. f[i][j][k]表示前i行放了j个,第i行状态为k的方案数. 然后老套路DFS转移,这次要多记录一个cnt表示上 ...

  10. A1142. Maximal Clique

    A clique is a subset of vertices of an undirected graph such that every two distinct vertices in the ...