剛開始學習在docker架設環境,因此在練習製作image跟container的時候經常漏掉一些設定,仍然反覆的建立container又刪除,這次想透過鐵人賽比較積極(?)的賽程來建立一個適當而且實用的流程來建立想要的環境。
以我個人的使用習慣,過去在建立網頁開發環境的時候會將資料庫(mySQL)、Framework(通常是cakePHP)跟資料庫管理工具(phpMyAdmin)都安裝在同一個虛擬機裡面,在學習docker的時候也這樣建立了container來使用。不過最近在找資料的時候發現docker可以讓container透過設定link的方式來連接,根據說明,linking會在來源端與接收端容器間建立一個隧道,接收端容器可以查看來源端容器的資料。
並且一個父容器可以連接多個子容器,意味著可以將資料庫設置在父容器中,不要設定父容器對外的連接埠,可以保護資料庫裡的資料。
就在我覺得聽起來不錯ㄟ——的時候,Docker官方的doc裡面說link的功能最終會被移除QQ……(晴天霹靂),建議使用network功能來使多個容器相連。
因此這三十天希望達到的目標是用network建立以下三個容器的連接:
容器一:資料庫
容器二:framework
容器三:phpmyadmin
基於以上的設定再看有沒有其他需求進行微調。
預計流程是先用基本的容器進行連接,之後再使用docker-compose寫YAML檔的方式建立多容器的環境。
後面有剩餘的天數,則會用來紀錄從零開始學(?)Kubernetes的過程,與docker swarm的比較(或者應該是說是試玩?)