美文网首页
Docker 基础

Docker 基础

作者: 萧何爱英语 | 来源:发表于2019-03-07 10:01 被阅读0次

Docker

  • Run applications securely isolated in a container.
  • Packaged with all its dependencies and libraries.
  • Build, Ship, and Run Any App, Anywhere.

思考:Docker 是容器,但容器不仅只是Docker,那为什么Docker 兴起了,之前有么?Docker 以后又有那些类似产品?

Q1:Docker 以前有容器么

  • Docker 以前早有容器,甚至 Docker 的早期版本就是基于 LXC(Linux Container)开发的
  • Google 的 Borg 系统有类似的产品,Oracle 也有

Q2:为什么Docker火了

  • 时机好,来的是时候,有了微服务架构
  • 镜像特性,即装箱技术,参照下图 Logo
  • Build, Ship, and Run Any App, Anywhere

Q3:Docker之后有什么类似产品

  • Kata Container【Openstack出品】
  • Gvisor【Google出品】
  • Rkt【CoreOS出品】

Docker Architecture

完整的Docker有以下组成部分

  • Docker客户端(Client)
  • Docker守护进程(Daemon)
  • Docker镜像(Image)
  • Docker容器(Container)
  • 镜像仓库(Registry or Harbor)

Docker 架构(v1.11+)

组件
contained
runC
dockershim

Docker 的商业化道路

2017 年年初,docker 公司将原先的 docker 项目改名为 moby,并创建了 docker-ce 和 docker-ee。
三者关系:

  • moby是继承了原先的 docker 的项目,是社区维护的开源项目,谁都可以在 moby 的基础上打造自己的容器产品
  • docker-ce 是 docker 公司维护的开源项目,是一个基于 moby 项目的免费的容器产品
  • docker-ee 是 docker 公司维护的闭源产品,是docker公司的商业产品
公司 开源版本 社区版本 企业版本
Redhat Fedora CentOS RHEL
Docker Moby Docker-CE Docker-EE

Docker 的安装与配置

参考 01 Docker 的安装与配置

当你运行一个容器的时候

$docker run -it nginx /bin/bash

按次序,Docker Engine做:

  1. Pull nginx 镜像
  2. 创建一个新的容器分配文件系统,挂载一个读写层
  3. 创建网络命名空间,分配一个网络/桥接口
  4. 设置一个IP地址
  5. 执行一个指定的进程[/usr/bin/nginx]
  6. 捕获和获取应用的输出

Docker 容器实操演示

参考 02 Docker 容器实操演示

相关文章

网友评论

      本文标题:Docker 基础

      本文链接:https://www.haomeiwen.com/subject/blpqpqtx.html