# Docker 概念 <summary>why docker?</summary> > [開發環境]與[維護環境]往往會有所不同,這導致在[開發環境]下程式運作的很正常,但release到[維運環境]時卻不work,然後兩邊就互相拉扯、吵架。docker的出現很好的解決了這方面的問題,docker將[開發環境]及程式碼等內容製作成[鏡像],再將鏡像佈屬至維運環境,這樣就達成『開發一次、運行anywhere』的目的。以往,開發人員以程式碼+環境設定給[維運]時,[維運]就得將這些設定遷出+遷入+整理家具,這樣[維運環境]才能正常使用;有了docker之後,就直接將[開發環境]複製並佈屬成[維運環境],意即將 ***開發環境*** assign給 ***維護環境***。 <summary>docker 3 大核心是什麼?</summary> > 倉庫(repository): 1個倉庫能存放多個映像,例如 hub.docker.com。 映像(image): 1個映像能實例化多個容器,容器之間互不干涉。 容器(container): 裝箱的內容,內容可以是設定檔,也可以是某一個安裝的程式。 <summary>docker 與 vm 的差別?</summary> > docker 可以視作為一個精簡化的、去蕪存菁的小型 linux 核心,它減少了模擬硬體的實體(硬碟、cpu、ram、印表機etc),大大的減輕的它的[包袱],導致它開啟速度是以[秒]為級別的,而vm則是"分"鐘為啟動單位,因此,使用上是非常快捷的,在cluster的應用上能快速反應臨時暴量的訪問。 > 在架構上的差異可以參考下圖: >  <summary>學習 docker 需要具備什麼背景知識?</summary> > [linux]與[linux相關的指令],因為它們運行在 linux 之上,在佈屬上以 centoOS/Ubunto 兩種 distribution 較為常見。 ###### tags: `Docker` `學習筆記`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up