今天還沒要碰 Kubernetes,先來處理它底下最重要的基本單位:Container
Claude Code 建議我先別急著背 Pod、Deployment 和 Service,因為 Kubernetes 說到底,就是在管理大量的 Container。如果連 Container 是怎麼跑起來的都還很模糊,後面的名詞大概很快就會全部黏在一起www
先把今天的兩個主角拆開來看。Image 是一份唯讀的模板,裡面包含程式以及執行時需要的環境;Container 則是 Image 實際跑起來之後的實例。同一份 Image 可以同時啟動好幾個 Container,每個 Container 都有自己的執行狀態,彼此不會直接影響
另外,Container 裡的檔案改動不會寫回原本的 Image。改動只存在那個 Container 裡;把它刪除後,再從同一份 Image 建立新的 Container,就會回到 Image 原本的狀態。這也是 Container 可以反覆建立、刪除和重來的原因
定義先講到這裡,還是直接開一個來看比較快
docker run --name hello-nginx -d -p 8080:80 nginx:alpine
docker ps


接著看 log,因為剛剛用瀏覽器連過了,所以應該會有紀錄,然後也進去 Container 裡面看看
docker logs hello-nginx
docker exec -it hello-nginx sh

進去之後其實就是一個很乾淨的小系統, 然後我在/usr/share/nginx/html/index.html,找到剛剛那個歡迎頁的本體

所謂的 Container 就是一個被隔開的小環境,裡面只有這個程式需要的東西
最後收工
docker stop hello-nginx
docker ps -a
docker rm hello-nginx

明天見 :D