背景
- 目前项目组上, Docker 用的非常重,所有微服务都是通过 docker 来部署的
- 所以不能仅仅会命令,还得会一些原理的东西,特此补一篇基础点的,后面再更加深入一些 docker 原理
- 本篇学习资源来自:https://www.bilibili.com/video/BV1og4y1q7M4?p=8
hello world 的栗子
直接在命令行敲
docker run hello-world
docker run 的流程
根据上面的结果运行图,可以写出一个 docker run 的流程图,如下
docker 的底层原理
docker 是如何工作的?
- docker 是一个 C/S 结构的系统
- docker 的守护进程运行在主机上
- 通过 Socket 从客户端访问
- docker-Server 接收到 docker-Client的指令,就会执行这个命令
- docker-client:可以理解为 cmd 窗口,或者是 docker 桌面版,在上面敲 docker 命令
- docker-host:其实就是 docker-server,里面包含了守护进程、容器、镜像
- docker daemon:就是守护进程,收到命令后就会去执行命令
可以看看下图
- Linux 服务器敲 docker 命令(客户端)
- 客户端访问 docker 的后台守护进程
- 后台守护进程来执行命令,作用于不用的 docker 容器