本文是《IDEA的Docker插件實戰》系列的第三篇,IDEA的Docker插件一共有三種:Dockerfile、Docker Image、Docker-compose,前面我們已熟悉了Dockerfile、Docker Image,今天來實戰Docker-compose。
系列文章鏈接
- 《IDEA的Docker插件實戰(Dockerfile篇)》;
- 《IDEA的Docker插件實戰(Docker Image篇)》;
- 《IDEA的Docker插件實戰(Docker-compose篇)》;
開發環境
- 開發環境操作系統:macOS Mojave
- IntelliJ IDEA: 2018.3.5 (Ultimate Edition)
- Docker服務所在環境:Ubuntu 18.04.2 LTS
- Docker:19.03.1(Community)
注意:IEDA所在電腦也要安裝Docker和docker-compose
準備工作
在IDEA上建好與遠程Docker服務的連接,如下圖所示,IEDA連接的Docker服務部署在IP爲192.168.50.75的服務器上:
注意:遠程Docker所在電腦上,此時沒有任何Docker鏡像和容器,空空如也
使用Docker-compose插件
該插件的作用相對簡單:讓遠程Docker按照指定的docker-compose.yml編排運行容器;
接下來的實戰會創建一個docker-compose.yml,裏面編排了三個容器:Nacos、simple-provider、simple-consumer,這三個容器組成了spring-cloud-alibaba的註冊中心體驗環境,其功能如下圖所示:
本文不會對上述功能的細節做過多描述,如果您對上圖的鏡像的細節感興趣,可以參考《Docker下,兩分鐘極速體驗Nacos》
準備工作已完成,可以開始實戰:
- 新建一個maven工程;
- 在pom.xml文件所在目錄創建文件docker-compose.yml,內容如下:
version: '2'
services:
nacos:
image: bolingcavalry/nacosserver:0.0.1
container_name: nacos
restart: always
ports:
- '8848:8848'
provider:
image: bolingcavalry/nacossimpleprovider:1.0-SNAPSHOT
links:
- nacos:nacoshost
depends_on:
- nacos
restart: always
consumer:
image: bolingcavalry/nacossimpleconsumer:1.0-SNAPSHOT
links:
- nacos:nacoshost
container_name: consumer
depends_on:
- nacos
ports:
- '8080:8080'
restart: always
- 點擊下圖紅框中的"Edit Configurations",新建一個配置:
- 如下圖,新建一個Docker-compose配置:
- 在新的配置頁面,填寫下圖所示的信息:
- 在主窗口選中剛纔的配置,點擊下圖紅框2中的綠色三角形,開始執行此配置:
- 如下圖所示,由於Docker所在機器上沒有docker-compose.yml中指定的鏡像,因此會立即開始下載:
- 啓動成功後,主窗口信息如下:
- 驗證容器服務是否正常,Docker所在服務器IP地址是192.168.50.75,所以訪問地址:http://192.168.50.75:8080/test ,如下圖,響應數據證明三個容器都是正常的(第二行數據來自provider返回給consumer的):
- 除了運行docker-compose.yml中的所有容器,Docker-compose插件還能指定服務運行,再新建一個Docker-compose配置,使用相同的docker-compose.yml文件,和前面不同的是service這裏填入的是其中的一個"provider":
- 運行這個新的配置,可見只是重新運行了provider:
至此,Docker插件系列就全部完成了,希望文章能給您提供一些參考,助您更熟練的使用此插件。