Docker初體驗
docker基本指令操作就不多說了,在玩了幾天就決定把公司的網站移轉到docker上執行,然其實我一開始 lab是在自己的Windows 10上作業 (順道一提docker 3.0後在UI操作上變得方便許多),原先想就這樣直接移轉到公司的環境上,不過公司的Windows Server主機似乎不能安裝docker (貌似版本太舊),不得已我只好多加一層先裝一台Linux來起Docker環境 ><,底下簡單記錄一下這個過程:
- 在Linux上啟用docker服務
- 先使用Nginx這個images啟動成container,然後把原有的網站掛上去 (透過-v掛本機資料匣),在複製原網站資料到指定的資料匣
- 修改nginx的website路徑,對映成剛複製出來的路徑 (設定檔:/etc/nginx/conf.d/default.conf)
- 完成後就可以commit成自己的images,但這邊要注意的是,產生的images要跟你的docker hub帳號一樣以及要加入tag名稱(後面會說明原因)
- 然後就可以docker push 了,但做之前要記得先做docker login
- 前面提到在commit時要加註這個tag name的原因是因為,如果沒有加入的話,這邊pull會拉不到檔案,正確的語法是docker pull myid/web1:v1 (myid要替換成你的docker id;而web:v1就是你的images名稱以及tag名稱)
- 若沒意外,下載完的images直接run起來就可以用了,因為已經把原有的website都包進去了,只有差在port mapping對應的問題,原先可能都是80 port,但因為我找不到container可以拿DHCP IP的方式,若用host模式似乎也很浪費,不過好險這個網站是對外,可以在router上面設定port mapping解決這個問題
初嚐docker就有被震撼到的感覺,過往還要重新安裝系統然後裝應用程式的情況,如今整個被輕量、簡化到可以隨手可得,把web從原本的系統移轉成docker是第一步,接下來也可以把相關的應用服務甚至程式改寫可以在linux上執行,改變成容器化作業