Docker Cloud實(shí)現(xiàn)部署應(yīng)用操作詳解
本文實(shí)例講述了Docker Cloud實(shí)現(xiàn)部署應(yīng)用操作。分享給大家供大家參考,具體如下:
如果您在生產(chǎn)環(huán)境中使用Docker Community Edition的效果還不錯(cuò),可以使用Docker Cloud來(lái)幫助管理Amazon Web Services、DigitalOcean和Microsoft Azure等主流服務(wù)提供商的應(yīng)用程序。
設(shè)置和部署流程是:將Docker Cloud與您的首選提供商連接,授予Docker Cloud權(quán)限,為您自動(dòng)配置和Dockerize虛擬機(jī);使用Docker Cloud創(chuàng)建您的計(jì)算資源并創(chuàng)建您的集群;部署您的應(yīng)用程序。
連接Docker Cloud
可以在標(biāo)準(zhǔn)模式或集群模式下運(yùn)行Docker Cloud
。如果在標(biāo)準(zhǔn)模式下運(yùn)行Docker Cloud
,按照以下說(shuō)明將您的服務(wù)提供商連接到Docker Cloud:
- Amazon Web Services安裝指南
- DigitalOcean安裝指南
- Microsoft Azure安裝指南
- 數(shù)據(jù)包設(shè)置指南
- SoftLayer設(shè)置指南
- 使用Docker Cloud代理你的主機(jī)
如果您在集群模式下運(yùn)行,請(qǐng)繼續(xù)看下面的內(nèi)容。
創(chuàng)建集群
如果使用的是Amazon Web Services(AWS),則可以在AWS上自動(dòng)創(chuàng)建一個(gè)集群。
如果使用的是Microsoft Azure,則可以在Azure上自動(dòng)創(chuàng)建一個(gè)集群。
否則,在Docker Cloud UI中創(chuàng)建您的節(jié)點(diǎn),并通過(guò)Docker Cloud運(yùn)行docker swarm init和docker swarm join命令。最后,通過(guò)點(diǎn)擊屏幕頂部的“enable Swarm Mode”,并注冊(cè)創(chuàng)建的集群。
在云提供商上部署應(yīng)用程序
首先通過(guò)Docker Cloud連接到你的集群,從集群模式的Docker Cloud的web界面中,選擇頁(yè)面頂部的“Swarms”,單擊要連接的集群,然后將給定的命令復(fù)制粘貼到命令行終端中。
或者,在Docker for Mac或Docker for Windows上,您可以通過(guò)桌面菜單直接連接到集群。
無(wú)論哪種方式,都將打開(kāi)一個(gè)終端,其上下文是您的本地機(jī)器,但其Docker命令會(huì)路由到您的云服務(wù)提供商上運(yùn)行的集群。您可以直接訪問(wèn)本地文件系統(tǒng)和遠(yuǎn)程集群,從而啟用純粹的Docker命令。
運(yùn)行docker stack deploy -c docker-compose.yml getstartedlab
在云托管集群上部署應(yīng)用程序。
$ docker stack deploy -c docker-compose.yml getstartedlab
現(xiàn)在您的應(yīng)用正在您的云提供商上運(yùn)行。
運(yùn)行一些命令來(lái)驗(yàn)證部署
您可以使用swarm命令來(lái)瀏覽和管理集群,例如使用docker node ls
列出節(jié)點(diǎn):
$ docker node ls
使用docker service ls
列出服務(wù):
$ docker service ls
使用docker service ps <service>
查看服務(wù)的任務(wù):
$ docker service ps vy7n2piyqrtr
在云供應(yīng)商的機(jī)器上開(kāi)放服務(wù)端口
此時(shí),您的應(yīng)用程序?qū)⒆鳛樵铺峁┥谭?wù)器上的一個(gè)集群進(jìn)行部署,正如剛剛運(yùn)行的docker命令所證明的那樣,但是,您仍然需要打開(kāi)云服務(wù)器上的端口,以便:
- 允許在工作節(jié)點(diǎn)上的
redis
服務(wù)和web
服務(wù)之間進(jìn)行通信。 - 允許入站流量到工作節(jié)點(diǎn)上的
web
服務(wù),以便從Web瀏覽器訪問(wèn)Hello World和Visualizer。 - 允許運(yùn)行管理器的服務(wù)器上的入站SSH流量(可能已經(jīng)在云提供商上設(shè)置)
這些是您需要為每項(xiàng)服務(wù)公開(kāi)的端口:
Service | Type | Protocol | Port |
---|---|---|---|
web | HTTP | TCP | 80 |
visualizer | HTTP | TCP | 8080 |
redis | TCP | TCP | 6379 |
迭代和清理
通過(guò)更改docker-compose.yml文件來(lái)擴(kuò)展應(yīng)用程序,并使用docker stack deploy
命令即時(shí)重新部署。通過(guò)編輯代碼更改應(yīng)用程序的行為,然后重新構(gòu)建,推送新的鏡像。也可以用docker stack rm
清理堆棧,例如:
$ docker stack rm getstartedlab
與您在本地Docker虛擬機(jī)上運(yùn)行集群的場(chǎng)景不同,您的集群以及部署在其上的所有應(yīng)用程序都將繼續(xù)在云服務(wù)器上運(yùn)行,無(wú)論您是否關(guān)閉本地主機(jī)。
希望本文所述對(duì)大家docker容器的使用有所幫助
- linux下使用Docker和OSS輕松搭建ownCloud專屬網(wǎng)盤(pán)(網(wǎng)盤(pán)關(guān)閉不用怕)
- 詳解如何在 Docker 中設(shè)置 Go 并部署應(yīng)用
- 在docker中部署tomcat并且部署java應(yīng)用程序的步驟詳解
- 在Docker上開(kāi)始部署Python應(yīng)用的教程
- 在Docker快速部署Node.js應(yīng)用的詳細(xì)步驟
- Ubuntu Docker 的安裝部署及簡(jiǎn)單應(yīng)用
- 使用Docker部署 spring-boot maven應(yīng)用的方法
- 使用Docker部署Spring Boot的應(yīng)用示例
- Docker實(shí)踐--部署Nodejs應(yīng)用
- .Net Core自動(dòng)化部署之利用docker版jenkins部署dotnetcore應(yīng)用的方法
相關(guān)文章
Docker中Compose與Kubernetes的區(qū)別詳解
這篇文章主要給大家介紹了關(guān)于Docker中Compose與Kubernetes區(qū)別的相關(guān)資料,Docker Compose和Kubernetes(簡(jiǎn)稱k8s)都是容器編排工具,需要的朋友可以參考下2023-08-08Docker私有倉(cāng)庫(kù)Registry部署的實(shí)現(xiàn)
這篇文章主要介紹了Docker私有倉(cāng)庫(kù)Registry部署的實(shí)現(xiàn),私有倉(cāng)庫(kù)最常用的就是Registry、Harbor兩種,本文詳細(xì)介紹如何搭建registry私有倉(cāng)庫(kù),感興趣的可以了解一下2020-06-06關(guān)于Jenkins + Docker + ASP.NET Core自動(dòng)化部署的問(wèn)題(避免踩坑)
這篇文章主要介紹了關(guān)于Jenkins + Docker + ASP.NET Core自動(dòng)化部署的問(wèn)題,本文給大家?guī)?lái)了docker安裝方法及一些注意事項(xiàng),內(nèi)容有點(diǎn)小長(zhǎng),希望朋友們耐心看完,一定有收獲2021-05-05使用Dockerfile.dockerignore提升Docker鏡像構(gòu)建速度
這篇文章主要為大家介紹了使用Dockerfile.dockerignore提升Docker鏡像構(gòu)建速度,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2023-10-10Docker daemon 無(wú)法啟動(dòng): does not match with stored UUID錯(cuò)誤解決辦法
這篇文章主要介紹了Docker daemon 無(wú)法啟動(dòng): does not match with stored UUID錯(cuò)誤解決辦法的相關(guān)資料,需要的朋友可以參考下2016-11-11Docker部署Mysql8的實(shí)現(xiàn)步驟
本文主要介紹了Docker部署Mysql8的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07