docker八股整理

docker思想:

集装箱:dockers不仅打包了程序的代码,也打包了程序的相关配置,保证程序的正确运行

标准化:

运输方式:可是使用docker pull 语句,就能从docker的公共仓库将所需的程序包下载再来

存储:不需要记录镜像的位置,由docker管理

接口:可以使用dockers命令,直接对下载的镜像和容器进行操作

隔离:不同镜像和容器时互相隔离的

docker优点:一致的运行环境、更快的启动时间,善与快速扩展,迁移方便

容器和虚拟机:

传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。

容器是一个应用层抽象,用于将代码和依赖资源打包在一起。多个容器可以在同一台机器上运行,共享操作系统内核,但各自作为独立的进程在用户空间中运行 。与虚拟机相比, 容器占用的空间较少(容器镜像大小通常只有几十兆),瞬间就能完成启动

虚拟机 (VM) 是一个物理硬件层抽象,用于将一台服务器变成多台服务器。 管理程序允许多个 VM 在一台机器上运行。每个 VM 都包含一整套操作系统、一个或多个应用、必要的二进制文件和库资源,因此 占用大量空间 。而且 VM 启动也十分缓慢

镜像:

Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。 镜像不包含任何动态数据,其内容在构建之后也不会被改变。

其设计为分层存储的架构镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。

分层存储的特征还使得镜像的复用、定制变的更为容易。甚至可以用之前构建好的镜像作为基础层,然后进一步添加新的层,以定制自己所需的内容,构建新的镜像。

容器(Container):镜像运行时的实体

容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的 命名空间。前面讲过镜像使用的是分层存储,容器也是如此。容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。因此,任何保存于容器存储层的信息都会随容器删除而丢失。

容器不应该向其存储层内写入任何数据 ,容器存储层要保持无状态化。所有的文件写入操作,都应该使用数据卷(Volume)、或者绑定宿主目录,在这些位置的读写会跳过容器存储层,直接对宿主(或网络存储)发生读写,其性能和稳定性更高。数据卷的生存周期独立于容器,容器消亡,数据卷不会消亡。因此, 使用数据卷后,容器可以随意删除、重新 run ,数据却不会丢失。

仓库(Repository):集中存放镜像文件的地方

个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本

容器数据卷:

容器数据卷:类似于数据库的持久化,完全独立于容器的生命周期,讲dockers容器内的数据保存进宿主的磁盘中

卷就是目录(文件),存在一个或多个容器中,由于docker挂载到容器中,但不是Unitfile,因此能够绕过Union files system,提供一些用于储存或共享的特性

特点:

    • 2
      点赞
    • 2
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    1. 什么是Docker?它的优缺点是什么? Docker是一种开源的容器化平台,可以在不同的平台上运行应用程序。它的优点包括快速构建、部署和扩展应用程序、更高的可移植性、更好的资源利用率和更好的安全性。缺点包括较高的学习曲线和性能损失。 2. Docker的架构是什么?怎么工作的? Docker的架构包括Docker客户端、Docker守护进程、Docker镜像和Docker容器Docker客户端和守护进程可以运行在同一台机器上或者不同的机器上。Docker客户端通过Docker API与Docker守护进程进行通信,Docker守护进程管理Docker镜像和Docker容器Docker镜像包含了应用程序运行所需的所有依赖和配置,Docker容器是基于Docker镜像运行的实例。 3. Docker镜像是什么?如何创建和使用? Docker镜像是一个只读的文件,包含了应用程序运行所需的所有依赖和配置。可以通过编写Dockerfile来创建Docker镜像,Dockerfile是一个文本文件,包含了一系列指令,用于构建Docker镜像。使用Docker镜像可以通过docker run命令创建Docker容器。 4. Docker容器是什么?如何创建和使用? Docker容器是基于Docker镜像运行的实例,包含了应用程序和其依赖的所有环境。可以通过docker run命令创建Docker容器,也可以通过docker create命令创建Docker容器并在以后启动。 5. Docker Compose是什么?如何使用? Docker Compose是一种工具,用于定义和运行多容器Docker应用程序。可以通过编写docker-compose.yml文件来定义Docker应用程序的服务、网络和卷。可以通过docker-compose up命令启动Docker应用程序。 6. Docker Swarm是什么?如何使用? Docker Swarm是Docker的官方容器编排工具,用于管理多个Docker容器。可以通过docker swarm init命令初始化Docker Swarm集群,通过docker node命令管理集群节点,通过docker service命令管理Docker服务。 7. Docker网络是什么?如何创建和使用? Docker网络是用于连接Docker容器的虚拟网络。可以通过docker network命令创建和管理Docker网络,可以通过--network参数将Docker容器连接到特定的Docker网络上。 8. Docker数据卷是什么?如何创建和使用? Docker数据卷是用于持久化存储Docker容器数据的一种机制。可以通过docker volume命令创建和管理Docker数据卷,可以通过-v参数将Docker容器挂载到特定的Docker数据卷上。

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值