docker使用步驟 部署一個(gè)web程序是用多個(gè)docker互聯(lián)還是用一個(gè)docker直接全裝進(jìn)去好呢?為什么?
部署一個(gè)web程序是用多個(gè)docker互聯(lián)還是用一個(gè)docker直接全裝進(jìn)去好呢?為什么?要開(kāi)發(fā)一個(gè)網(wǎng)站,是使用一個(gè)docker還是使用多個(gè)docker取決于web項(xiàng)目的定位和未來(lái)的發(fā)展。如果它只用于
部署一個(gè)web程序是用多個(gè)docker互聯(lián)還是用一個(gè)docker直接全裝進(jìn)去好呢?為什么?
要開(kāi)發(fā)一個(gè)網(wǎng)站,是使用一個(gè)docker還是使用多個(gè)docker取決于web項(xiàng)目的定位和未來(lái)的發(fā)展。如果它只用于構(gòu)建一個(gè)小項(xiàng)目,并且項(xiàng)目不需要頻繁更改,那么最好使用docker。畢竟,多個(gè)docker的使用使得早期構(gòu)建復(fù)雜,后期維護(hù)麻煩。
但是,如果您希望在后期易于擴(kuò)展和擴(kuò)展,最好使用多個(gè)Docker來(lái)分離數(shù)據(jù)庫(kù)服務(wù)、代碼服務(wù)、緩存服務(wù)和其他服務(wù)。這樣,當(dāng)您要擴(kuò)展一個(gè)服務(wù)時(shí),您只需要操作這個(gè)服務(wù),而不會(huì)影響其他服務(wù)。
如果使用多個(gè)Docker,多個(gè)Docker如何通信?
要鏈接多個(gè)Docker,有兩種常用方法:一種是使用-link命令,另一種是直接使用IP地址。
微服務(wù)在Docker k8s下如何部署?
最近,這些技術(shù)已在項(xiàng)目中使用。讓我介紹一些有價(jià)值的想法。
首先,結(jié)論如下:
1。K8s是一款非常好的技術(shù),非常穩(wěn)定。如果發(fā)現(xiàn)正在運(yùn)行的pod數(shù)量不等于用戶設(shè)置的期望值,k8s將自動(dòng)創(chuàng)建或刪除pod,直到它們相等為止。這不僅確保了服務(wù)的不間斷運(yùn)行,而且還動(dòng)態(tài)地?cái)U(kuò)展了服務(wù)規(guī)范。用戶只需要調(diào)整pod的復(fù)制次數(shù),剩下的留給k8s,這很容易讓人擔(dān)心。
2. 使用Jenkins集成命令行操作,雖然我個(gè)人比較喜歡使用命令行,但我不得不承認(rèn),使用Jenkins集成命令行操作將大大提高工作效率。
實(shí)現(xiàn)步驟如下:(本文以Azure平臺(tái)為例)
1。寫dockerfile
2。在Jenkins中創(chuàng)建任務(wù)并執(zhí)行包含以下命令的腳本
2.1 git將源代碼拉到本地
2.2 docker build命令生成映像文件
2.3 docker定義映像文件版本號(hào)并上載到Azure平臺(tái)
2.4 kubectl命令創(chuàng)建k8s部署和服務(wù)。
每個(gè)版本2.5update,可以調(diào)用update image來(lái)編譯新的鏡像版本并提供給k8s
注意,在創(chuàng)建k8s的部署和服務(wù)時(shí),需要用yaml格式編寫配置文件。部署配置包括名稱、映像文件地址、最大和最小CPU分配值、最大和最小內(nèi)存分配值等。服務(wù)配置文件包括名稱、引用的部署名稱以及是否使用負(fù)載平衡器。
有關(guān)更多詳細(xì)信息,請(qǐng)參閱我的wikihttps://github.com/FamingHou/MyWiki