Docker 讲解(分享会)

下面为我整理的目录。
讲解不太顺利,一开始不知道如何去表述,后来讲到了,但是时间不太多了。

Docker 是什么?

在这里插入图片描述

Docker VS 虚拟机

在这里插入图片描述
在这里插入图片描述

Docker 架构

官网:https://docs.docker.com/get-started/overview/#docker-architecture
在这里插入图片描述

Docker 三个基本概念

  • 镜像(Image)
  • 容器(Container)
  • 仓库(Repository)
1
2
3
镜像   ===>   写的代码(没运行,外部不能访问)
容器 ===> 运行起来的代码(外部可以访问服务)
仓库 ===> GitHub代码仓库(需要账号密码)
1
2
3
4
Docker             Git
DockerHub GitHub
image 镜像 代码
run 容器 运行起来的代码
  • 拉取镜像(拉取代码)
  • 运行镜像,运行起来的镜像就是容器,容器可以对外提供服务。(运行起来的代码,可以对外提供服务。)
  • 镜像可以push推送至仓库。(代码也可以push)
  • 镜像是分层的,每一层都是只读的。(代码是只读的)
  • 容器就是在镜像的所有只读层上面多了一个读写层,上面的修改会覆盖下面的。(代码也可以修改,修改之后,对于之前的就会进行覆盖)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Docker解决了我哪些问题?

1、运行服务简单(一键运行):Redis,Kafka,Zookeeper,MySQL,…
2、部署服务:部署SpringBoot,本地打成 jar包上传仓库,服务器仓库拉取,直接docker run,就可启动服务
3、隔离性好:可能你Windows装MySQL,装不好,卸载也不干净。使用 docker,不想用只需要docker rm删除容器即可。
4、操作简单:想启动start,想停止stop,想创建run,想删除rm,…
5、隔离性好:各个容器互相隔离,当然你也可以使用网络,挂载等技术让它们有联系
6、docker-compose 一键部署集群(Nacos x3+Mysql x1),一键部署多个服务(Kafka x1+Zookeeper x1)
7、配合Jenkins做(持续集成Continuous Integration(CI)和持续交付Continuous Delivery(CD))
8、想不起来了…

容器的问题

容器就是一个运作起来的操作系统。

在应对某些需求时,要考虑几个方面。

网络:docker network

挂载:docker volume

Dockerfile

参考:Docker 分类。Dockerfile。

ProcessOn

Docker网络

在这里插入图片描述
在这里插入图片描述

我的画图

图片链接

Docker思维导图

Docker — 尚硅谷-阳哥