本文實例講述了Docker Cloud實現(xiàn)部署應(yīng)用操作。分享給大家供大家參考,具體如下:
如果您在生產(chǎn)環(huán)境中使用Docker Community Edition的效果還不錯,可以使用Docker Cloud來幫助管理Amazon Web Services、DigitalOcean和Microsoft Azure等主流服務(wù)提供商的應(yīng)用程序。
設(shè)置和部署流程是:將Docker Cloud與您的首選提供商連接,授予Docker Cloud權(quán)限,為您自動配置和Dockerize虛擬機;使用Docker Cloud創(chuàng)建您的計算資源并創(chuàng)建您的集群;部署您的應(yīng)用程序。
連接Docker Cloud
可以在標(biāo)準(zhǔn)模式或集群模式下運行Docker Cloud。如果在標(biāo)準(zhǔn)模式下運行Docker Cloud,按照以下說明將您的服務(wù)提供商連接到Docker Cloud:
如果您在集群模式下運行,請繼續(xù)看下面的內(nèi)容。
創(chuàng)建集群
如果使用的是Amazon Web Services(AWS),則可以在AWS上自動創(chuàng)建一個集群。
如果使用的是Microsoft Azure,則可以在Azure上自動創(chuàng)建一個集群。
否則,在Docker Cloud UI中創(chuàng)建您的節(jié)點,并通過Docker Cloud運行docker swarm init和docker swarm join命令。最后,通過點擊屏幕頂部的“enable Swarm Mode”,并注冊創(chuàng)建的集群。
enable Swarm Mode
在云提供商上部署應(yīng)用程序
首先通過Docker Cloud連接到你的集群,從集群模式的Docker Cloud的web界面中,選擇頁面頂部的“Swarms”,單擊要連接的集群,然后將給定的命令復(fù)制粘貼到命令行終端中。
或者,在Docker for Mac或Docker for Windows上,您可以通過桌面菜單直接連接到集群。
無論哪種方式,都將打開一個終端,其上下文是您的本地機器,但其Docker命令會路由到您的云服務(wù)提供商上運行的集群。您可以直接訪問本地文件系統(tǒng)和遠程集群,從而啟用純粹的Docker命令。
運行docker stack deploy -c docker-compose.yml getstartedlab在云托管集群上部署應(yīng)用程序。
$ docker stack deploy -c docker-compose.yml getstartedlab
現(xiàn)在您的應(yīng)用正在您的云提供商上運行。
運行一些命令來驗證部署
您可以使用swarm命令來瀏覽和管理集群,例如使用docker node ls列出節(jié)點:
$ docker node ls
使用docker service ls列出服務(wù):
$ docker service ls
使用docker service ps <service>查看服務(wù)的任務(wù):
$ docker service ps vy7n2piyqrtr
在云供應(yīng)商的機器上開放服務(wù)端口
此時,您的應(yīng)用程序?qū)⒆鳛樵铺峁┥谭?wù)器上的一個集群進行部署,正如剛剛運行的docker命令所證明的那樣,但是,您仍然需要打開云服務(wù)器上的端口,以便:
redis服務(wù)和web服務(wù)之間進行通信。web服務(wù),以便從Web瀏覽器訪問Hello World和Visualizer。這些是您需要為每項服務(wù)公開的端口:
| Service | Type | Protocol | Port |
|---|---|---|---|
| web | HTTP | TCP | 80 |
| visualizer | HTTP | TCP | 8080 |
| redis | TCP | TCP | 6379 |
迭代和清理
通過更改docker-compose.yml文件來擴展應(yīng)用程序,并使用docker stack deploy命令即時重新部署。通過編輯代碼更改應(yīng)用程序的行為,然后重新構(gòu)建,推送新的鏡像。也可以用docker stack rm清理堆棧,例如:
$ docker stack rm getstartedlab
與您在本地Docker虛擬機上運行集群的場景不同,您的集群以及部署在其上的所有應(yīng)用程序都將繼續(xù)在云服務(wù)器上運行,無論您是否關(guān)閉本地主機。
希望本文所述對大家docker容器的使用有所幫助
新聞熱點
疑難解答
圖片精選