编程语言   发布时间:2022-06-26  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Docker详解(入门必看)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

文章目录

  • 一、Docker概述
    • `容器技术的核心`
    • `什么是Docker`
    • `Docker和传统虚拟化方式对比`
    • `docker体系结构`
    • `Docker特性`
      • 优点
      • 缺点
    • ` 应用场景`
  • 二、基本概念
    • `镜像(image)`
    • `容器(container)`
    • `镜像仓库(repository)`
  • 三、安装Docker
  • 四、Docker Run流程
  • 五、Docker镜像原理
    • `UnionFS`
    • `Docker镜像加载原理`
    • `分层原理`
  • 六、容器数据卷
  • 七、Dockerfile制作镜像
  • 八、Docker网络


参考文章、视频: Docker官方文档 Docker中文文档 狂神说Docker

一、Docker概述

Docker 作为目前最流行的开源容器引擎,具有开箱即用、快速部署、资源隔离、可移植性强等特性,可以在短时间上手使用,实现容器化部署应用。

容器技术的核心

  • Cgroups(Control Groups)-资源管理[限制使用的资源]
  • NameSpace-进程隔离(命名空间)
  • SELinux安全

什么是Docker

  • Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。2014年4月9日,Docker1.0发布
  • 基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。
  • Docker是完整的一套容器管理系统
  • Docker提供了一组命令,让用户更加方便直接地使用容器技术,而不需要过多关心底层内核技术
  • 是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup、namespace、Union FS等技术,对应用进程进行封装隔离,并且独立于宿主机与其他进程,这种运行时封装的状态称为容器
  • 早期版本基于LXC,从0.7以后开始去LXC,转为自行研发的libcontainer,从1.11版本开始,进一步演进为使用runC和containerd

Docker和传统虚拟化方式对比

Docker详解(入门必看)

Docker详解(入门必看)

docker体系结构

Docker详解(入门必看)

架构图

Docker详解(入门必看)

Docker特性

优点

• 相比于传统的虚拟化技术,容器更加简洁高效 • 开箱即用、快速部署、可移植性强、环境隔离 • 容器使用共享公共库和程序

缺点

• 容器的隔离性没有虚拟化强(linux下的容器不能虚拟出windows操作系统) • 共用Linux内核,安全性有先天缺陷 • SELinux难以驾驭

应用场景

  • 节省项目环境部署时间
  • 环境一致性
  • 持续集成
  • 微服务
  • 弹性伸缩

二、基本概念

镜像(image)

  • 镜像好比一个模板,通过镜像来创建容器。
  • 一个镜像可以创建N个容器
  • 镜像是不可变的,不能修改里面的内容
  • 镜像可分为:基础镜像(OS)、环境镜像(jdk)、应用镜像(tomcat)、业务镜像(jar包)

容器(container)

  • 镜像run起来之后就称之为容器
  • 每个容器都是Linux的一个进程,也可以把容器看成是一个独立的Linux系统
  • 容器是可变的,可以在容器里面进行各种Linux操作(touch、mkdir、rm)

镜像仓库(repository)

  • 存放镜像的地方
  • 分为公有仓库和私有仓库
  • 官方的仓库为Docker Hub,私有仓库可以通过registry和harbor来搭建

三、安装Docker

Shell脚本安装Docker(二进制版) SUSE12安装docker19.03.13

四、Docker Run流程

Docker详解(入门必看)

五、Docker镜像原理

UnionFS

联合文件系统(Union File System):它可以把多个目录(也叫分支)内容联合挂载到同一个目录下,而目录的物理位置是分开的。 镜像可以通过分层来继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像

Docker镜像加载原理

bootfs(boot file system)主要包含bootloader和kernel.

Docker镜像的最底层是bootfs,与典型的Linux是一样的,包含boot加载器和内核。当boot加载完之后,整个内核就在内存中了,此时内核的使用权已由bootfs转交给内核,系统也会卸载bootfs。

rootfs在bootfs之上,包含的就是典型Linux系统的/dev,/proc,/etc,/bin/等标准目录。

Docker详解(入门必看)

由于 Docker 使用一个统一文件系统,Docker 进程认为整个文件系统是以读写方式挂载的。 但是所有的变更都发生顶层的可写层,而下层的原始的只读镜像文件并未变化。

顶层的可写层称为容器层,下层的原始只读镜像称为镜像层

分层原理

镜像是分层的,每一层都可以共享。

六、容器数据卷

实现数据的持久化。

七、Dockerfile制作镜像

dockerfile详解

八、Docker网络

Docker网络详解

大佬总结

以上是大佬教程为你收集整理的Docker详解(入门必看)全部内容,希望文章能够帮你解决Docker详解(入门必看)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: