• Docker 概述



    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    #显示当前主机上所有的镜像。

  • 相关阅读:
    nodejs学习(一) ---- nodejs + express应用生成器 快速创建应用
    canvas学习--准备
    react初探索--react + react-router + ant-design 后台管理系统配置
    css3新特性学习系列 -- border
    微信小程序 video组件 不随页面滚动
    将日志搬家到自己的站点 http://nowhereman.cn/
    【转】- 使用T4模板批量生成代码
    [WinForm]- 设置DataGridView单元格内根据不同值显示图片
    [转]- Winform 用子窗体刷新父窗体,子窗体改变父窗体控件的值
    [MVC]
  • 原文地址:https://www.cnblogs.com/jixp/p/9958443.html
一二三 - 开发者的网上家园