背景
- 目前項目組上, 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 容器