Docker 是什麼 ?
Docker是一個開源的容器化平台,可以幫助開發人員將應用程式及其相關的依賴項打包到一個稱為「容器」的獨立輕量級環境中。這些容器可以在不同的環境中運行,例如開發人員的筆記本電腦、測試環境、部署伺服器等,而不需要擔心環境之間的差異和依賴問題,不然寫 code 寫的那麼辛苦,發現對方不能 run,或是部屬到 Production 還要提心吊膽,實在破壞了一整天的心情阿。
為什麼要用 Docker ?
以下列出 5 項主要優點:
跨平台一致性
: Docker 容器是輕量且自足的,包含了應用程式及其所有相關的依賴項,因此可以確保在不同的環境中具有相同的運行行為,從而消除「在我的機器上運行良好」的問題。效能優越
: Docker 容器在啟動和停止方面非常快速,因為它們共享主機的核心作業系統,這減少了虛擬化帶來的開銷。這使得應用程式的部署和擴展變得更加高效。資源隔離
: 每個容器都運行在自己的隔離環境中,這意味著容器之間的應用程式不會相互干擾。這種隔離性使得容器更加安全且更容易管理。可移植性
: 由於 Docker 容器是輕量、可攜帶的,且具有一致的運行環境,可以輕鬆地將應用程式及其相關組件從一個環境移動到另一個環境,例如從開發到測試,再到生產。快速部署
: 使用 Docker,您可以輕鬆地在各種環境中快速部署應用程式,並在需要時進行擴展。這有助於減少部署時間,提高交付速度。
身為有一點點潔癖的工程師,真的不想把自己的電腦弄髒,ㄜ… 我指的是在電腦上安裝各種軟體、開發環境, ex: Apache & Nginx, python 2.7, python 3.4, opencv 2.4, opencv 3.5, Visual Studio…..繁不及備載; 在 Docker 上,所有的環境都可以單獨下載(image),可以把 image run 成 container, 此時 container 就是一個獨立的環境啦,用不喜歡隨時刪掉,或是調整設定後,隨時產生新的 container, 超方便的。