iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 23
1
DevOps

後端功城獅30天DevOps探討挑戰系列 第 23

實作分享 - Docker

在專案管理工具介紹完、程式也準備好了之後,我們就來進入我們的Container吧!
特別選用碼頭工人Docker,因為它最普及,很多團隊在使用,網路上也搜尋的到很多文章,可以很方便上手與學習~但是官方的那些說明,就各位大大自己看吧,連結傳送門

喂~要大家自己看還要我說嗎!雖然Container的概念前幾篇有分享過了,但必須說句真實面,我還是研究了好久好久...為了縮短大家的摸索時間與痛苦指數,在真的操作Docker前,我分享一下針對Docker的一些筆記,供大家參考

Image 映像檔

是一個依照你描述設定的環境(Dockerfile),也可想像成是Container的快照,本身是唯讀的檔案,如果要啟動一個Image,就是把他放入一個Container中啟動,也可以啟動多個Container都使用同一個Image
附註,一個Image裡不可以超過127層

Container 容器

是一個Instance,可以被啟動、暫停、刪除,把他想像成一個簡易版的Linux,可以用來執行應用程式,且每個容器間彼此都是隔離的,上面說Image是唯讀的,Container是在啟動的時候在最上層建立了一個可以寫入的層

Repository

類似GitHub提供一個公開的平台可以讓人放上自己設計的Image,也可以從上拉取別人提供的,現在很多官方都有在DockerHub上上傳自己的Image供大家取用,很方便

Data Volume

主要用來保存容器內的資料,先前有提到Container彼此是互相獨立的,那假設資料庫要升級的時候是不是就會導致資料遺失,或是要特別執行轉檔作業,那使用Volume把資料存在local storage,就可以解決這個問題

Dockerfile Vs Docker Compose

這兩個懂的人會覺得完全不搭嘎,怎麼合起來說?但其實一開始在學習時,只覺得都很像,搞不清楚什麼時候用什麼....這邊說明一下

  • Dockerfile是用來描述Image檔案的文件,透過指令告訴Image模板,應該要長成什麼樣子
  • Docker Compose則是一個可以透過一個指令就能管理所有project中需要的service,檔案格式為YAML

Service 服務

這個主要不是Docker的功能,而是說Docker Container啟動後可以提供的服務,而容器化的該念興起,也伴隨著微服務的熱門,相關更多微服務的分享,會在最後的相關分享中再聊到

https://ithelp.ithome.com.tw/upload/images/20191009/20111916dheQyCKyQO.png
圖片來源:Docker 簡單入門

提醒一下,如果是使用Windows的朋友們,要是專業版或是企業版的Windows 10 64bit以上喔!(哭哭...)

參考資料、延伸閱讀:

下集預告:實作分享 - Docker Compose + SpringBoot + Mysql


上一篇
實作分享 - Testing
下一篇
實作分享 - Docker Compose + SpringBoot + Mysql
系列文
後端功城獅30天DevOps探討挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言