故事:小智的魔法蛋糕店
小智擁有一家魔法蛋糕店,他使用魔法食譜(Docker鏡像)來制作美味的蛋糕(Docker容器)。
Docker鏡像和容器的區別
-
Docker鏡像(Magic Recipe)
- 故事中的對應:在小智的蛋糕店中,魔法食譜是一份詳細的指南,包含了制作蛋糕所需的所有原料和步驟。每個食譜都是精確的,確保每次制作的蛋糕都是相同的口味和質量。
- 特點:不可變的、輕量級的、只讀的。鏡像是創建容器的模板,包含了運行應用程序所需的代碼、運行時、系統工具、系統庫等。
-
Docker容器(Delicious Cakes)
- 故事中的對應:根據魔法食譜,小智可以制作出一個個美味的蛋糕。每個蛋糕都是獨立包裝的,可以立即食用,也可以送給顧客。
- 特點:鏡像的運行實例,是可變的、可寫的。容器是隔離的、安全的,并且可以控制其對底層系統資源的使用。
Docker常用命令
小智在經營魔法蛋糕店時,會用到一些魔法咒語(Docker命令)來管理他的蛋糕(容器)和食譜(鏡像)。
-
docker build
- 咒語:根據魔法食譜(Dockerfile)和小智的原料(代碼和依賴),創建一個新的蛋糕(Docker鏡像)。
- 故事中的對應:
docker build -t my-cake .意味著小智要基于當前目錄下的食譜(Dockerfile)構建一個名為“my-cake”的蛋糕(鏡像)。
-
docker run
- 咒語:啟動一個新的容器,根據魔法食譜(Docker鏡像)制作蛋糕(運行應用程序)。
- 故事中的對應:
docker run -d -p 80:80 my-cake意味著小智要運行一個名為“my-cake”的蛋糕(容器),并且將容器的80端口映射到宿主機的80端口。
-
docker images
- 咒語:列出小智所有的魔法食譜(Docker鏡像)。
- 故事中的對應:
docker images顯示所有可用的Docker鏡像。
-
docker ps
- 咒語:查看正在運行的蛋糕(Docker容器)。
- 故事中的對應:
docker ps顯示當前運行中的容器。
-
docker stop/ docker start
- 咒語:停止或啟動一個蛋糕(Docker容器)。
- 故事中的對應:
docker stop my-cake停止名為“my-cake”的容器;docker start my-cake啟動名為“my-cake”的容器。
-
docker rm
- 咒語:移除一個蛋糕(Docker容器)。
- 故事中的對應:
docker rm my-cake刪除名為“my-cake”的容器。
-
docker rmi
- 咒語:從小智的收藏中移除一個魔法食譜(Docker鏡像)。
- 故事中的對應:
docker rmi my-cake刪除名為“my-cake”的鏡像。
-
docker pull/ docker push
- 咒語:從Docker Hub倉庫拉取(下載)或推送(上傳)一個魔法食譜(Docker鏡像)。
- 故事中的對應:
docker pull my-cake從Docker Hub下載名為“my-cake”的鏡像;docker push my-cake將名為“my-cake”的鏡像上傳到Docker Hub。