asp.net core 擁抱 docker 技術 (一)概覽
這是一個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 技術 (一)概覽