如何設(shè)置docker容器和容器中的應(yīng)用開機(jī)自啟動(dòng)?
在使用dockerrun啟動(dòng)容器時(shí),使用--restart參數(shù)來設(shè)置:
#dockerrun-m512m--memory-swap1G-it-p58080:8080--restartalways
--namebvrfis--volumes-fromlogdatamytomcat:4.0
--restart具體參數(shù)值詳細(xì)信息:
no-容器退出時(shí),不重啟容器;
on-failure-只有在非0狀態(tài)退出時(shí)才從新啟動(dòng)容器;
always-無論退出狀態(tài)是如何,都重啟容器;
Docker容器內(nèi)應(yīng)用服務(wù)自啟動(dòng)
如果想把Docker容器內(nèi)的應(yīng)用服務(wù)隨著容器開啟時(shí)自啟動(dòng)。只需要將服務(wù)啟動(dòng)的腳本寫在Dockerfile里,然后用Dockerfile重構(gòu)鏡像即可實(shí)現(xiàn):
編寫應(yīng)用服務(wù)自啟動(dòng)腳本
編寫Dockerfile
重構(gòu)鏡像
開啟容器
容器開發(fā)是什么?
容器即服務(wù),英文全稱Container-as-a-Service,簡寫CaaS,它提供一種上傳、運(yùn)行、擴(kuò)展以及管理應(yīng)用程序容器的方法。這類服務(wù)全面提供執(zhí)行這些功能的API或CLI,有些甚至提供GUI或Web門戶。這里的容器可以是多種不同類型,包括Docker、LXD以及OpenVZ等等。聽起來似乎跟PaaS差不了多少,但二者也有一些區(qū)別。下面我們從概念出發(fā),看看二者之間的差異所在。
平臺(tái)即服務(wù)(PaaS),以IaaS為基礎(chǔ)構(gòu)建而成。此外,也有一部分PaaS供應(yīng)商也開始以CaaS作為服務(wù)基礎(chǔ)。
從傳統(tǒng)意義出發(fā),PaaS解決的是應(yīng)用程序的托管、打包與分發(fā)問題,強(qiáng)調(diào)零停機(jī)時(shí)間部署、自動(dòng)規(guī)模伸縮與負(fù)載均衡功能。此外,它還可以集成多種開發(fā)人員工具以及運(yùn)行狀態(tài)與指標(biāo)統(tǒng)計(jì)信息。PaaS的核心優(yōu)勢之一,在于開發(fā)人員可以輕松構(gòu)建應(yīng)用程序,而不再分神于應(yīng)用程序運(yùn)行所處的具體環(huán)境。像CloudFoundry,Heroku以及GoogleAppEngine等,都屬于典型的PaaS供應(yīng)商。
而CaaS提供一種輕松快捷的容器部署。它還能夠保證全面完善的可移植性,確保容器能夠在幾乎任何位置上運(yùn)行。CaaS還提供用于容器乃至容器集群的配置及管理功能。
從表面上看,CaaS與PaaS好像沒什么不同。二者都管理著應(yīng)用程序的部署與托管任務(wù),而且基本功能也區(qū)別不大。PaaS的不少優(yōu)勢,都可以通過使用容器鏡像加容器注冊表的實(shí)現(xiàn)。此外,Kubernetes能夠幫助用戶滾動(dòng)部署并實(shí)現(xiàn)負(fù)載均衡與自動(dòng)規(guī)模伸縮。典型的CaaS解決方案包括GoogleKubernetesEngine(GKE)與AzureContainerService。