天天看點

docker~docker-compose和VS解決方案的關系

一般地,我們在VS裡添加了一個解決方案之後,會更新子產品或者業務添加多個api,web項目,這類似于最近說的微服務,而我們的docker-compose與微軟體正好有了一種默契,當你為你的解決方案添加docker支援之後,你會釋出有個docker-compose出現了,它會把所有可以釋出的項目都內建起來,進行管理,然後可以讓你一鍵釋出你的一批鏡像,這裡我們叫它"服務",這個服務我們可以删除,停止,運作它,非常友善!

docker-compose和VS解決方案的關系

docker-compose和VS與項目的關系

Dockerfile與VS項目的關系

docker-compose和Dockerfile的關系

一個解決方案對應一個docker-compose項目,它由docker-compose.yml和它的子檔案元件,子檔案用來對它進行補充!

一個docker-compose包括了所有可以釋出的項目,這些項目在compose裡被稱為一個服務!

一個Dockerfile對應一個具體的項目,可以是網站,API,控制台程式等,主要對它們進行釋出,運作等!

一個docker-compose會包括多個Dockerfile,而每個Dockerfile對應于一個鏡像,也就是說,很多鏡像元件了一個服務,一個docker-compose,我們可以按着自己的規則去劃分服務,docker-compose最小管理單元是"服務"!

docker-compose.yml

docker-compose.override.yml對原檔案進行功能的補充

然後把整個解決方案釋出一個,複制到你的linux環境裡

docker~docker-compose和VS解決方案的關系

執行docker-compose build 生成服務,就是一批鏡像,通過docker-compose images可以檢視它們

docker~docker-compose和VS解決方案的關系

當生成成功後,執行docker-compose up 運作服務,就是運作這些容器,然後docker ps或者docker-compose ps 可以檢視正在運作的容器

docker~docker-compose和VS解決方案的關系

從上面的圖中可以看到,這個服務包括了兩個容器,它們分别監聽了81和82端口,而自己程式端口都是5000,這也是預設的!

docker~docker-compose和VS解決方案的關系
docker~docker-compose和VS解決方案的關系

有時,覺得微軟,vs2017為開發者考慮的太到位了,呵呵! 

感謝各位的閱讀!

繼續閱讀