使用docker-compose單機發布多個服務
阿新 • • 發佈:2020-08-23
一、安裝docker-compose
#github下載地址-下載慢 curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose #高速下載地址 curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose #給予執行許可權 chmod +x /usr/local/bin/docker-compose #檢視 docer-compose -v #解除安裝 rm /usr/local/bin/docker-compose
二、專案配置
2.1、專案結構
一個專案一個Dockerfile
與專案pom
檔案同級,docker-compose.yml
檔案與專案同級
2.2、專案一-Dockerfile
#依賴jdk8 FROM java:8 #維護者資訊 MAINTAINER duchong <[email protected]> #系統編碼 ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 #容器卷 VOLUME /tmp #拷貝jar包 COPY target/docker-demo-0.0.1-SNAPSHOT.jar /docker-demo.jar #暴漏埠 EXPOSE 8080 #容器啟動時執行 ENTRYPOINT [ "java", "-jar", "/docker-demo.jar" ]
2.3、專案二-Dockerfile
#依賴jdk8 FROM java:8 #維護者資訊 MAINTAINER duchong <[email protected]> #系統編碼 ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 #容器卷 VOLUME /tmp #拷貝jar包 COPY target/docker-demo2-0.0.1-SNAPSHOT.jar /docker-demo2.jar #暴漏埠 EXPOSE 8080 #容器啟動時執行 ENTRYPOINT [ "java", "-jar", "/docker-demo2.jar" ]
2.4、docker-compose
#compose 檔案的版本
version: "3"
# 一個services 下面包含多個專案服務
services:
# 服務1
docker-demo:
#映象地址
image: registry.cn-hangzhou.aliyuncs.com/duchong/demo-repo/summer_travel/docker-demo:1.0
#容器名稱
container_name: docker-demo
#無論如何容器都會重啟
restart: always
#對映埠
ports:
- "8080:8080"
# 服務2
docker-demo2:
#映象地址
image: registry.cn-hangzhou.aliyuncs.com/duchong/demo-repo/summer_travel/docker-demo2:1.0
#容器名稱
container_name: docker-demo2
#無論如何容器都會重啟
restart: always
#對映埠
ports:
- "8081:8081"
# 服務3、4、5
三、專案釋出
專案一和專案二根據各自的Dockerfile
生成映象,並上傳到阿里雲,具體怎麼操作,不知道的話可以看這篇:
[使用docker外掛部署應用,看完這一篇就夠了](https://www.cnblogs.com/geekdc/p/13524916.html)
將2.4中的docker-compose.yml
上傳到/home/context/
資料夾下
[root@vm context]# cd /home/context/
[root@vm context]# ls
docker-compose.yml
[root@vm context]# docker-compose up -d
Creating network "context_default" with the default driver
Creating docker-demo ... done
Creating docker-demo2 ... done
[root@vm context]# docker ps -a | grep docker-demo
4577bcca724d registry.cn-hangzhou.aliyuncs.com/duchong/demo-repo/summer_travel/docker-demo:1.0 "java -jar /docker-d…" 18 seconds ago Up 17 seconds 0.0.0.0:8080->8080/tcp docker-demo
5e698b122fda registry.cn-hangzhou.aliyuncs.com/duchong/demo-repo/summer_travel/docker-demo2:1.0 "java -jar /docker-d…" 18 seconds ago Up 17 seconds 8080/tcp, 0.0.0.0:8081->8081/tcp
四、瀏覽器測試
搞定!!!