Docker(一)

Posted by Run-dream Blog on October 14, 2018

What

容器和虚拟机的异同

\ 容器 VM
构成 1)程序本身2)依赖 1)2)3)完整的操作系统
作用 为应用提供封装和隔离 为应用提供封装和隔离

Why

  1. 如今的软件开发在架构上已经非常复杂,开发人员通常使用多种服务构建和组装应用,并部署到不同的环境。 Docker将运输行业的集装箱的思想运用到软件打包上,为代码提供了一个机遇容器的标准化运输系统。(Container)

  2. 特性。

    特性 集装箱 Docker
    打包对象 几乎任何货物 任何软件及其依赖
    硬件依赖   跨平台
    隔离性   资源,网络,库都是隔离的,不会出现依赖问题
    自动化   提供run,start,stop等标准化操作
    高效性   轻量级,可以快速启动和迁移
    职责分工   开发人员只需考虑怎么写代码;运维人员只关心如何配置基础环境
  3. 优势 对于开发人员: Build Once,Run Anywhere 对于运维人员: Configure Once,Run Anywhere。

How

1. Docker 架构

  • Docker Client
  • Docker daemon
  • Docker Image
  • Registry
  • Docker Container

2. Docker 客户端

最常用的是docker命令 命令

3. Docker 服务器

Docker daemon 以 Linux 后台服务的方式运行在Host上

4. Docker 镜像

Docker镜像可以看成只读模版,通过它可以创建Docker容器。 生成方式:

  1. 从无到有创建镜像
  2. 下载并使用别人构建好的镜像
  3. 在现有的镜像上创建新的镜像

Dockerfile: 描述镜像的内容和创建步骤的文本文件,创建命令

 docker build <docker_file>

5. Docker 容器

Docker容器就是Docker镜像的运行实例

6. Registry

Registry 就是存放Docker镜像的仓库,默认为Docker Hub docker pull 可以从Registry下载镜像 docker run 则是 如果没有则先下载,然后再启动

Reference

《每天五分钟玩转Docker容器技术》