《Docker技术入门与实战》学习笔记——第一部分 基础入门

0 前言

近期,工作中docker用的比较多,由于之前并没有怎么使用过docker相关的技术,所以只能边用边查,也不能知其所以然,比较被动。于是,搞了本《Docker技术入门与实战》,学习完第一部分基础入门之后,对docker的原理与基本使用基本就没什么问题了。这里趁机整理一下学习笔记,以便回顾,不过docker这种还是多用会掌握得比较熟练。

1 doker 核心概念

docker的大部分操作都围绕着它的三大核心概念:镜像、容器和仓库,接下来分别介绍一下。

1.1 docker 镜像

Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。它是一个特殊的文件系统,除了提供窗口运行时所需要的程序、库、资源、配置等文件外,还包含了一些为运行时准备的配置参数 (如匿名卷、环境变量、用户等)。
镜像是创建docker容器的基础,它是静态的概念,不包含任何动态数据,其内容在构建之后也不会被改变。
深入理解docker镜像,还需要了解分层存储的概念。严格来说,镜像并非是像一个ISO那样的打包文件,镜像只是一个虚拟的概念,其实际体现并非由一个文件组成,而是由一组文件系统组成,或者说,由多层系统联合组成。镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变 ,后一层上的任何改变只发生在自己这一层。分层存储使镜像的复用、定制变的更为容易,甚至可以用之前构建好的镜像作为基础层,然后进一步添加新的层,以定制自己所需要的内容,构建新的镜像。

1.2 docker 容器

docker容器是一个轻量级的沙箱,docker利用容器来运行和隔离应用。
镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停,而这些容器是彼此相互隔离,互不可见的。

镜像自身只是只读的。容器从镜像启动的时候,会在镜像的最上层创建一个可写层,可以称这个为容器运行时读写而准备的存储层为容器存储层。容器储存层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡,任何保存于容器存储层的信息都会随容器删除而丢失。因此,容器不应该向其存储层内写入任何数据,容器存储层要保持无状态化。所有的文件写入操作,都应该使用数据卷(volume)、或者绑定宿主目录,在这些位置的读写会跳过容器存储层,直接对宿主(或网络存储)发生读写,其性能和稳定性更高。
数据卷的生存周期独立于容器,容器消亡,数据卷不会消亡。因此,使用数据卷后,容器删除或者重新运行之后,数据却不会丢失。

1.3 docker 仓库

docker仓库类似于代码仓库,是docker集中存放镜像的场所。docker registry是仓库注册服务器,它提供集中的存储、分发镜像的服务。仓库注册服务器(docker registry)是存放仓库(repository)的地方,其上往往存放着多个仓库。每个仓库集中存放某一类镜像,往往包括多个镜像文件,通过不同的标签(tag)来进行区分。根据所存储的镜像公开分享与否,docker仓库可以分为分开仓库和私有仓库两种形式。用户可以使用push命令将镜像上传到指定的公有或私有仓库,在另外一台机器上使用镜像时,只需要将它从仓库上pull下来就可以了。
通常,一个仓库会包含一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。可以通过<仓库名>:<标签>的格式来指定具体是哪个版本,如果不给出标签,将以latest作为默认标签。

docker利用仓库管理镜像的设计理念与git代码仓库的概念非常相似。
在这里插入图片描述

2 容器的生命周期

在刚使用docker容器的时候,会比较担心docker容器里操作的数据怎么办,会不会丢失等等,所以需要了解一些容器的状态。
docker ps -a命令返回的status状态共有7种:

  • created,已创建,运行docker create 命令会到达
  • restarting,重启中
  • running,运行中
  • removing,迁移中,不常见
  • paused,暂停
  • exited,停止,一般容器内命令运行结束会到达
  • dead,死亡

关于容器的生命周期,在网上盗了一张docker命令的状态转移图,对docker镜像、容器和仓库之间的关系以及docker容器的生命周期描述的比较清楚,也在这里整理一下。
在这里插入图片描述

3 docker 命令索引

下面的docker命令索引图把常用的docker命令分门别类地整理了一下,没有特别细的介绍每条命令怎么用。可以通过docker [sub command] --help去查看具体的用法。
docker基础命令索引

学习材料

猜你喜欢

转载自blog.csdn.net/PAN_Andy/article/details/121312305
今日推荐