閑話多說
免費報名:http://www.genshuixue.com/teacher/classCourseDetail/171117794648
.Net Core來了,帶給我們的是什麼?跨平台,無疑是最大的亮點!
Docker橫空出世,讓開發者和運維者都嘗到了甜頭!
Jenkins持續內建,功能包括了持續的軟體版本釋出與測試,讓開發人員專心關注自己的代碼開發,讓運維人員專心寫部署代碼,一次性工作,從來不要反複的做一件事!
雲時代來了,容器時代了,面向應用的微服務也來了,麻煩也就跟着來了,我應該如何去找到你,應用A,你被部署到了容器裡,你的IP不真的不清楚,因為你是那麼的善變。因為出現了這些問題,是以在解決問題的道路上出現了“服務發現”,“服務熔斷”,“服務注冊”等。
微軟.Net Core和Docker合作,打造多應用部署,我們都應該知道的YML
想像一下,把一個大系統拆分成多個小服務,這些小服務在分别去部署,或者它們之間又可以互相通信,這對于開發來說是清晰了,對部署來說是麻煩了,對開發來說是職責分離了,應用與應用之間解耦了,以後的A應用的更新不會影響到B應用了,這大概就是微服務設計的初衷吧!
1 微服務項目圖

2 Dockerfile的使用
對于容器化部署來說,我們隻要關心Dockerfle和YML檔案即可,其中Dockerfile用來生成應用的鏡像;YML用來部署這個系統裡所有的應用。
應用C裡的Dockerfile,它以aspnetcore為基礎,然後将自己的釋出的代碼複制到了鏡像裡,最後使用dotnet指令啟動這個應用!
3 docker-compose.yml進行服務的部署
YML裡會有這個系統的服務名稱和每個小應用的服務名及它們使用的Dockerfile的位址,生成的鏡像名,鏡像運作後的容器名,監聽的端口,使用的網絡,運作的環境等很多配置的資訊
version: '3'
services:
a:
image: a
build:
context: ./應用A
dockerfile: Dockerfile
b:
image: b
build:
context: ./應用B
dockerfile: Dockerfile
c:
image: c
build:
context: ./應用C
dockerfile: Dockerfile
version: '3'
services:
a:
environment:
- ASPNETCORE_ENVIRONMENT=Development
ports:
- "80"
事實上,對于服務的部署可能要說的還很多,這裡篇幅有限,就到這吧!
Jenkins之前我也寫着一些檔案,在我的自動化部署分類上,大家可以進行閱讀!自動化部署&持續內建系列
感謝各位的閱讀!
作者:倉儲大叔,張占嶺,
榮譽:微軟MVP
QQ:853066980
支付寶掃一掃,為大叔打賞!