Docker體系結(jié)構(gòu)
docker服務(wù)端,作為服務(wù)的提供方,核心進程 docker daemon,所有docker命令都是通過這個進程完成的
REST API:通信層,基于WEB容器提供http協(xié)議服務(wù)
docker CLI: 提供常用的docker命令
基于HTTP協(xié)議,docker的兼容性和擴展性是特別好的
基于這種CS架構(gòu),對于應(yīng)用來說,最大的好處就是服務(wù)器與客戶端可以不用安裝在同一臺電腦上,可以跨機器管理多臺服務(wù)器,提高運維效率
Docker命令
docker pull 鏡像名<:tags>-從遠程倉庫拉取鏡像docker images- 查看本地鏡像docker run 鏡像名<:tags>-創(chuàng)建容器,啟動應(yīng)用docker ps- 查看正在運行中的鏡像docker version- 查看docker版本docker rm <-f> 容器ID- 刪除容器 -f 強制刪除,生產(chǎn)環(huán)境禁用強制刪除docker rmi <-f> 鏡像ID- 刪除鏡像,-f強制刪除,生產(chǎn)環(huán)境禁用強制刪除- `docker build -t 機構(gòu)/鏡像文件<:tags> Dockerfile目錄 - 編譯dockerfile鏡像配置文件,生成自定義鏡像文件
- `docker exec -it 容器id - 運行docker容器
Docker執(zhí)行過程
- Docker Host是我們的docker宿主機
- Registry是docker拉取鏡像的遠程倉庫,提供大量的鏡像供下載,下載完成之后保存在Images中
- Docker Daemon是docker的服務(wù)線程,處理客戶端命令
- Images 是本地的鏡像倉庫,可以通過
docker images查看 - Docker Daemon是docker的服務(wù)線程,處理客戶端命令
執(zhí)行過程
- 客戶端通過rest api 發(fā)送指令到 docker host的docker daemon進程,
- Docker daemon進程處理不同的指令,交將結(jié)果返回到客戶端
以docker pull 命令為例
- 客戶端通過rest api將指令發(fā)送給docker daemon
- docker daemon 先檢查本地images中有沒有相關(guān)的鏡像
- 如果本地沒有相關(guān)的鏡像,則向鏡像服務(wù)器請求,將遠程鏡像下載到本地
- 返回客戶端
寫在最后
相關(guān)文章會首發(fā)公眾號,可以關(guān)注公號albk,關(guān)注后可以獲取大量學(xué)習(xí)視頻
期望熱愛技術(shù)的你一起來交流,獲取最新資料和學(xué)習(xí)資源,可以關(guān)注公眾號albk, 個人博客 !