分享

Python Taiwan讀書會_5_天天用docker

上週六的主題是「天天用docker」,跟我一樣不知道什麼是docker沒關係,上上週之前我們也不知道世界上有git和github這些東西,現在要是聽別人聊起,至少也還知道是版本控制的工具,至少也知道軟體開發通常是團體協作,大家在自己的電腦上工作後,要和其他人一起把工作成果上傳,並且在軟體真正問世之前,是會經過許多測試與版本,上線之後也還是會大改、小改、debug,因此需要版本控制的工具,讓團體協作更有序。
docker是公司名,也是產品名稱,用container(容器)來稱呼,更能表現出它的功能與精神。在開始介紹docker之前,先講一下VM(虛擬主機)的概念:執行任何軟體(或指令或web app),都是從開VMs開始--安裝OS、設定網路、加使用者帳號、設防火牆、安裝監控程式、安裝語言和必要套件,然後才能開始部署程式,以上這些我都沒做過,簡單說,就是需要很多事前準備,把環境準備到一個可以開始工作的狀態。
什麼是VM(虛擬主機)?就是利用軟體,讓一台實體電腦假裝自己是很多台,可以裝不同的作業系統,各跑各的程式,但是因為什麼都靠軟體模擬,相當吃資源(就是需要一直向公司申請硬體預算,買就對了,錢能解決的事都不是事),最麻煩的是,一台實體假裝自己是十台,就有十台的安裝和設定要做,想起來都費力氣,Microsoft(Hyper-V)、Oracle(VirtualBox、VMware(VMware)都有這樣的產品,不過,2013年,docker橫空出世,大家就姑且當以上這幾種是過季商品,我們現在想認識的是docker。(因為我也不知道是否有哪些種商業用途絕對要用大牌公司的VM,知道的可以告訴我)
2013年,docker來了,各個容器之間是隔絕的,但它們共用OS/bins/libraries。(共用的好處是我們討論問題時,不用確認來確認去,你是否有裝ooo我是否有裝xxx)
docker的核心概念是:指令帶著app走,app帶著環境設定(語言)走,環境設定帶著OS走。最重要的是,同一台實體的規格,可以用10個docker加一個docker engine,相當於過季商品下1-2個VM,更開心的是,想要享受十台電腦,卻不用做十台電腦的開VM、裝OS、安裝那些族繁不及備載的東西。
這裡就是可以假裝自己有很多台電腦的地方https://labs.play-with-docker.com/
聽到這種省力工具我耳朵都豎起來了,但後來想想這些事好像也不是我在做。事不宜遲,安裝Docker Desktop和讀一下給初學者的指令教學。https://joshhu.gitbooks.io/dockercommands/content/Basics/Basics.html
近五年來最神奇的兩個東西就是git和docker,希望學到的東西十年不落伍!沒聽過的東西多了去,只要不是滿足於守住自己從窗外看出去的、一方的天,每天都會有驚喜(或驚訝或驚嚇),我的日子就是這樣過,我覺得很棒。  
分類:學習

評論
上一篇
  • Python Taiwan讀書會_6_Dockerfile與docker-compose
  • 下一篇
  • 更多文章
    載入中... 沒有更多了