docker~docker-compose和(he)VS解(jie)決方案的關系(xi)
一(yi)般地,我們在(zai)VS里(li)添(tian)(tian)加了(le)(le)一(yi)個解(jie)(jie)決方(fang)(fang)案之后(hou),會(hui)更新模塊或者業務添(tian)(tian)加多個api,web項(xiang)目,這類(lei)似于(yu)最近說(shuo)的(de)(de)微(wei)服(fu)務,而我們的(de)(de)docker-compose與微(wei)軟件(jian)正好有(you)了(le)(le)一(yi)種(zhong)默契,當你(ni)為你(ni)的(de)(de)解(jie)(jie)決方(fang)(fang)案添(tian)(tian)加docker支持之后(hou),你(ni)會(hui)發(fa)布(bu)有(you)個docker-compose出現了(le)(le),它(ta)會(hui)把所有(you)可(ke)以(yi)發(fa)布(bu)的(de)(de)項(xiang)目都(dou)集(ji)成起來,進行管理(li),然后(hou)可(ke)以(yi)讓你(ni)一(yi)鍵發(fa)布(bu)你(ni)的(de)(de)一(yi)批(pi)鏡像,這里(li)我們叫(jiao)它(ta)"服(fu)務",這個服(fu)務我們可(ke)以(yi)刪除(chu),停止,運行它(ta),非常方(fang)(fang)便!
- docker-compose和VS解決方案的關系
- docker-compose和VS與項目的關系
- Dockerfile與VS項目的關系
- docker-compose和Dockerfile的關系
大叔對docker-compose的認識
docker-compose和VS解(jie)決方案的關系(xi)
一個解決方(fang)案對應一個docker-compose項目,它(ta)由docker-compose.yml和它(ta)的子文(wen)件組件,子文(wen)件用來(lai)對它(ta)進行補充!
docker-compose和VS與項目的關系
一個(ge)docker-compose包括(kuo)了所(suo)有可以發(fa)布(bu)的(de)項(xiang)目,這些項(xiang)目在compose里被稱為(wei)一個(ge)服務(wu)!
Dockerfile與VS項(xiang)目的(de)關系(xi)
一個Dockerfile對應一個具體的項目,可(ke)以是網(wang)站,API,控制臺(tai)程(cheng)序等,主要對它們進行發布,運行等!
docker-compose和(he)Dockerfile的關系(xi)
一個(ge)(ge)docker-compose會包(bao)括(kuo)多(duo)個(ge)(ge)Dockerfile,而每個(ge)(ge)Dockerfile對應(ying)于一個(ge)(ge)鏡(jing)像(xiang),也就是說,很(hen)多(duo)鏡(jing)像(xiang)組(zu)件(jian)了(le)一個(ge)(ge)服務,一個(ge)(ge)docker-compose,我們可以按(an)著自(zi)己(ji)的(de)規則去(qu)劃分(fen)服務,docker-compose最小管理(li)單(dan)元(yuan)是"服務"!
具體例子
docker-compose.yml
version: '2' services: coremvc1.1: image: coremvc1.1 build: context: ./coreMvc1.1 #Dockerfile所在的目錄 dockerfile: Dockerfile #文件(jian) shop: image: shop build: context: ./Shop dockerfile: Dockerfile
docker-compose.override.yml對原文件(jian)進行功能的補充
version: '2' services: coremvc1.1: environment: - ASPNETCORE_ENVIRONMENT=Development ports: - "80" shop: environment: - ASPNETCORE_ENVIRONMENT=Development ports: - "80"
然后把整個(ge)解決方案(an)發(fa)布一個(ge),復(fu)制到(dao)你的linux環境里(li)

執行docker-compose build 生成服(fu)務,就是一批鏡(jing)像,通過docker-compose images可以查看它們(men)

當生成(cheng)成(cheng)功后,執(zhi)行(xing)(xing)docker-compose up 運(yun)行(xing)(xing)服務,就(jiu)是(shi)運(yun)行(xing)(xing)這(zhe)些容器,然后docker ps或(huo)者docker-compose ps 可以(yi)查(cha)看(kan)正在運(yun)行(xing)(xing)的容器

從(cong)上面(mian)的圖中(zhong)可以看到,這(zhe)個服務(wu)包括了兩個容器,它們分別監聽了81和82端口,而自己程序(xu)端口都是(shi)5000,這(zhe)也是(shi)默認的!


有時,覺得微軟,vs2017為開(kai)發者考(kao)慮的太到(dao)位了,呵(he)呵(he)!
感謝各位的閱讀!