CreateArtTechnology / Blog
  • 使用Dockerfile构建Docker镜像
     12     2019-02-15 17:18:23

    构建前需要知道的相关知识
    DO NOT WRITE WHOLE DOCKERFILE YOURSELF UNLESS YOU KNOW WHAT YOU ARE DOING.参见文末Dockerfile中每一行命令都会产生一层,每一层内容都会保留到最终镜像需要尽量合并命令,每层只保留需要的内容,及时清理不必要的内容
    Union FS 是有最大层数限制的,比如 AUFS,曾经是最大不得超过 42 层,现在是不得超过 127 层。
    指令指令只需要知道是干什么用的即可,有可能你用不上。用到的时候再细学。FROM第一行从FROM开始,说明这个镜像以谁为基础FROM nginx 以nginx镜像为基础RUN指明使用哪个命令,执行什么内容RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html 修改nginx首页的内容尽量像这样合并多条命令,在一个命令内完成下载、编译、安装、清理:
    RUN buildDeps='gcc libc6-dev make wget' \
    && apt-get update \
    ......

  • Docker基本命令
     15     2019-02-15 15:46:43

    PS:容器终止时不会自动删除
    常用命令拉取镜像
    # docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
    # 默认仓库为Docker Hub
    # 默认标签为latest
    docker pull ubuntu:18.04
    ......

  • Docker基本概念
     12     2019-02-15 12:44:55

    Image 镜像镜像介绍
    Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
    简单来说镜像就是你打包好的运行环境。
    镜像构建和存储镜像本身包含了整个运行环境,其体积也是不小的。如果每个镜像都独立进行存储,也非常浪费资源,毕竟很多镜像都共用了很多内容,如一些基础应用等。镜像在构建时是一层一层构建的,一般最基础层是操作系统,前一层是后一层的基础,类似于一层层建高楼。因此,镜像中的很多基础层内容是可以复用从而减少冗余的。但是请注意,每一层的修改都会在该层构建后不会再发生改变。即使在后续层中被删除,也会一直保留到最后镜像构建完成。因此,如何尽量保证每一层只进行必要的修改,以及尽量保证层数尽可能少(会占用空间,层数也有上限),是构建镜像的重点,后续文章会进行说明。
    Container 容器“镜像”与“容器”的关系,就类似于“应用”与“进程”的关系,或“类”与“实例”的关系。没错,镜像就是蓝图,定义了容器的逻辑和数据;容器就是由镜像产生的运行时的实体,有生命周期如(被)创建、启动、停止、删除等。容器的实质是进程,那么容器之间显然是互相隔离的,并且容器存储层属于临时存储,容器被删除时数据也会丢失,因此持久型数据应当存储在“数据卷Volume”或绑定在宿主机目录。
    Docker Registry 仓库好说,就是存放镜像的地方。当构建完镜像后,可以将镜像保存在仓库中,供后续持续集成工具拉取,进行测试、部署等。这里推荐一个官方公开服务Docker Hub:https://hub.docker.com 或 https://cloud.docker.com
    ......


  • Docker介绍
     11     2019-02-15 12:07:16

    Docker
    Docker是什么下面的图片比较了 Docker 和传统虚拟化方式的不同之处。传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
    传统虚拟化,最底层为完整操作系统
    Docker虚拟化,容器之间共享操作系统内核,更轻便
    简而言之,Docker可以理解为在通常打包服务的基础上更进一步,把运行环境也一同打包、隔离运行的轻便虚拟机。
    为什么要用DockerDocker相较于传统虚拟机的优势:
    ......

    共3张