1. 程式人生 > >asp.net core 擁抱 docker 技術 (一)概覽

asp.net core 擁抱 docker 技術 (一)概覽

測試 docker 架構 swa ima 進程 基於 概念 registry

這是一個huge 坑慢慢填吧。這裏只是一個目錄 或總覽。

docker 是什麽? docker可以看做一種虛擬機技術,但沒有傳統虛擬機那麽復雜,是基於進程的虛擬,就是讓一個一個進程,認為自己處於一個單獨的虛擬機裏,具體如何實現 參考linux 虛擬化機術。

為什麽要用docker? 1)開發部署方便、快捷 2)內置支持集群 3)理念特性面向微服務

.netcore /windows 對docker的支持如何 :?微軟擁抱docker 自家service fabric 架構 底層容器正是使用docker .

docker 知識點精要:

docker :常見的概念:image ,container. registry, host

docker三劍客(工具):

docker-machine 本地和遠程便捷安裝docker 的工具

docker-compose: 編排工具,可以認為是一組docker容器的批處理指令,批這個批處理指令使用一個結構化的文件,docker-compse.yml

docker-swarm: docker 集群管理工具。

.net core 開發docker 流程(2017支持docker 工具)

創建.net core 程序,編寫dockerfile,生成image 加載到host,運行container ,now 打開瀏覽器訪問。就這麽簡單。

開發測試完成,生成image 復制生產環境有docker 的服務器上,加載運行之,OK了。

聽說還有自動流成:svn->commit->測試或運行 build->load->start (目前還沒涉及這方面)

雲化部署:

編寫docker-compile.yml =>參數中設置相關集群、負載、的方式,和swarm網絡標識。

使用swarm運行。

使用 swarm 彈性調整群集。

還有代替swarm的工具,比如:k8s,service fabric,目前專業Paas公司都是使用k8s+ docker據說騰訊使用了service fabric +aspdonet +docker 架構了遊戲集群。

當前市場狀態

大去計算平臺和產品目前 大部分支持k8s+docker

另一種方案就是:openstack了,美國政府機構搞的開源的東西,也是比較牛的,但目前應用沒有openstack廣泛。

asp.net core 擁抱 docker 技術 (一)概覽