什麼是容器(Container)?為什麼現代開發都離不開它?
你是不是也遇過這種狀況: 好不容易寫好的網站、API,在自己電腦上跑得順順的,丟到伺服器後卻出現一堆奇怪錯誤:「明明我有裝啊?怎麼缺套件?版本也一樣啊…」 如果你曾經為這種「環境不一致」的問題苦惱過,那麼「容器」可能就是你的救星。 容器(Container)就像是一個可以把整個應用程式和它需要的執行...
共 7 篇文章
你是不是也遇過這種狀況: 好不容易寫好的網站、API,在自己電腦上跑得順順的,丟到伺服器後卻出現一堆奇怪錯誤:「明明我有裝啊?怎麼缺套件?版本也一樣啊…」 如果你曾經為這種「環境不一致」的問題苦惱過,那麼「容器」可能就是你的救星。 容器(Container)就像是一個可以把整個應用程式和它需要的執行...
在現代開發中,我們常聽到「容器化部署」、「Docker」、「映像檔(Image)」這些詞。 上一章我們介紹了容器的基本概念,知道它像一個封裝好的可攜式執行盒子,但容器本身是怎麼來的?這就得從 映像檔(Image) 說起。 很多人一開始學 Docker,會把「Image」跟「Container」搞混。...
現在的軟體開發,幾乎已經離不開「容器化」這個技術了。 你可以把它想像成一種打包應用程式的方式,不管你程式寫在哪裡、用什麼語言,只要裝進容器裡,就能很方便地搬到任何地方去跑,跑起來也幾乎不會出錯。 為什麼大家都愛用容器?因為它能幫你: 更快上線新功能(不用再卡在部署流程) 減少環境出錯的機會(「在我電...
在容器化部署中,把應用程式封裝成 Docker 映像檔已經成為現代開發的基本功,但你是否曾經想過: 「如果我想讓一個應用程式一直穩定地跑在雲端上,該怎麼做?」 這時候,Amazon ECS(Elastic Container Service)就派上用場了。 本篇文章將聚焦在其中的核心概念——ECS...
在 AWS ECS(Elastic Container Service)中,真正讓你的應用程式啟動並執行的核心單位就是 Task(任務)。 可以這樣理解:當你已經完成應用程式的撰寫、用 Docker 打包好映像檔(Image),甚至上傳到 ECR 或 Docker Hub 之後,這些都只是「準備工作...
當你使用 AWS ECS(Elastic Container Service)成功啟動一個 Task,看見容器開始執行時,也許會有一種「大功告成」的錯覺。 但你會發現: Task 執行完就會結束(像定時任務、資料處理等)。 如果容器異常退出,不會自動重啟。 想要一直維持某個服務(像 API 或前端伺...
如果你已經了解什麼是容器(Container)、映像檔(Image)、Task、Task Definition 以及 Service,接下來你可能會開始好奇: 這些東西到底是誰來管理的?我啟動那麼多任務,它們會跑去哪裡? 答案就是:ECS Cluster(叢集)。 ECS Cluster 是整個 A...