1.一種基于Docker容器創(chuàng)建的應(yīng)用的域名配置方法,其特征在于當(dāng)部署的應(yīng)用是由多個(gè)Docker容器創(chuàng)建時(shí),使用該方法為各應(yīng)用進(jìn)行域名配置,步驟如下:
(1)、系統(tǒng)初始化,宿主機(jī)部署 Agent,Agent用于監(jiān)聽Docker事件和上報(bào)消息到服務(wù)端;服務(wù)端部署Docker集群管理軟件:Haproxy、SkyDNs和Etcd,能夠接受并處理Agent上報(bào)的信息;
(2)、創(chuàng)建應(yīng)用:
a、下發(fā)創(chuàng)建應(yīng)用的請求時(shí),服務(wù)端提取數(shù)據(jù):應(yīng)用的域名、Docker容器配置參數(shù)和容器數(shù)量,同時(shí)服務(wù)端為該應(yīng)用分配域名參數(shù),服務(wù)端首先下發(fā)創(chuàng)建容器的請求,服務(wù)端完成數(shù)據(jù)解析,通過內(nèi)置的調(diào)度算法,在指定的多個(gè)宿主機(jī)上創(chuàng)建屬于該應(yīng)用的Docker容器;
b、當(dāng)宿主機(jī)上的該應(yīng)用的Docker容器創(chuàng)建完成并啟動(dòng)成功后,部署在宿主機(jī)的Agent 會(huì)接收到Docker容器上報(bào)的容器啟動(dòng)事件,Agent解析該容器啟動(dòng)事件并將該容器啟動(dòng)事件的內(nèi)容上報(bào)到服務(wù)端;
c、服務(wù)端解析該容器啟動(dòng)事件,將Docker容器的IP和應(yīng)用的域名參數(shù)保存到Etcd數(shù)據(jù)庫,同時(shí)將Docker容器和應(yīng)用對應(yīng)關(guān)系保存到Haproxy,并重載Haproxy,SkyDns獲取Etcd數(shù)據(jù)庫內(nèi)的數(shù)據(jù),完成應(yīng)用的域名解析;
(3)、當(dāng)訪問應(yīng)用時(shí),訪問地址為應(yīng)用的域名,配置DNS 地址為SkyDns的地址, SkyDns完成域名解析,從而能夠訪問實(shí)際的Docker容器地址。
2.根據(jù)權(quán)利要求1所述的一種基于Docker容器創(chuàng)建的應(yīng)用的域名配置方法,其特征在于步驟(1)中,系統(tǒng)初始化后,宿主機(jī)信息匯總,宿主機(jī)Agent運(yùn)行。
3.根據(jù)權(quán)利要求1所述的一種基于Docker容器創(chuàng)建的應(yīng)用的域名配置方法,其特征在于當(dāng)應(yīng)用對應(yīng)的Docker容器重啟、刪除或停止時(shí),Agent均會(huì)上報(bào)Docker容器狀態(tài)變化的事件到服務(wù)端,服務(wù)端更新Etcd數(shù)據(jù)庫和Haproxy配置文件。