基於docker-compose構建dubbo-admin應用實踐篇


我們都知道Compose是docker三劍客之一,主要負責實現對 Docker 容器集群的快速編排。前面的文章也介紹了docker-compose的使用方法,今天分享一下docker-compose的實戰,讓讀者更好的理解docker-compose。

1. 從github獲取dubbo-admin源碼並修改內容

目前dubbo-admin源碼分支默認是develop,而我們需要獲取的是master分支,所以拉取代碼的時候需要指定一下分支名:

$ git clone -b master https://github.com/apache/dubbo-admin.git

由於github下載代碼的速度太慢了,筆者也是花費了很多時間才下載下來,故提供一下下載地址:

鏈接:https://pan.baidu.com/s/1NQsQJ6X0IPa7CwZvRY4PYA

提取碼:25ig

源碼下載好后,需要修改一下配置文件 ../dubbo-admin/dubbo-admin/src/main/resources/application.properties,進行如下修改:

## 將 127.0.0.1 修改為 zookeeper
dubbo.registry.address=zookeeper://zookeeper:2181 

然后保存退出即可。

2. 將dubbo-admin源碼打包

下載好源碼過后,進入dubbo-admin目錄,執行命令:

$ mvn clean package -Dmaven.test.skip=true

命令執行完后,會在dubbo-admin/dubbo-admin/target目錄下生成一個jar包:dubbo-admin-0.0.1-SNAPSHOT.jar。

如果你使用的是Windows的Powershell,執行上面的命令可能會報錯:Unknown lifecycle phase ".test.skip=true".

只需要將-Dmaven.test.skip=true加上單引號即可:

$ mvn clean package '-Dmaven.test.skip=true'

3. 構建dubbo-admin鏡像

首先准備一個空文件夾,里面放兩個文件,一個Dockerfile,一個就是第二步生成的jar包dubbo-admin-0.0.1-SNAPSHOT.jar。其中Dockerfile內容如下:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD dubbo-admin-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]

這里面的內容很簡單,不多做介紹,如果有疑惑的移步:Dockerfile文件常用指令詳解

文件准備好后,在Dockerfile所在目錄執行命令:

$ docker build -t dubbo-admin:1.0 .

注意后面有個小點點。

如果構建成功,執行命令docker images就能看到你的鏡像了

$ docker images

4. 編寫docker-compose.yml模板文件

docker-compose.yml內容如下:

version: '3.4' 
services:
  zk_server:
    image: zookeeper:3.4
    ports:
      - 2181:2181
  dubbo-admin: 
    image: dubbo-admin:1.0
    links: 
      - zk_server:zookeeper
    depends_on: 
      - zk_server 
    ports: 
      - 7001:7001

注意:冒號(:)和短橫線(-)后面都需要加一個空格,不然可能會出問題。

如果對docker-compose.yml模板文件有疑惑的,請移步:docker-compose模板文件常用指令

5. 運行

在docker-compose.yml所在目錄運行命令:

$ docker-compose up

如果沒有其他問題的話,應該能正常的看到日志輸出。

6. 驗證dubbo-admin正常運行

在瀏覽器輸入ip:7001即可進入dubbo-admin后台,初始用戶名/密碼是:root/root

擴展

在編寫docker-compose.yml之前我們手動的構建了dubbo-admin的鏡像,也就是上文的第三步,其實這一步可以省略,使用的就是compose模板文件的build指令。修改后的docker-compose.yml文件內容如下:

version: '3.4' 
services:
  zk_server:
    image: zookeeper:3.4
    ports:
      - 2181:2181
  dubbo-admin: 
    build: 
      context: .
      dockerfile: Dockerfile
    links: 
      - zk_server:zookeeper
    depends_on: 
      - zk_server 
    ports: 
      - 7001:7001

有興趣的讀者可以自行嘗試一下。

好了,關於docker-compose的實踐篇介紹到此為止。筆者這里只是拋磚引玉,在真正的開發過程中需要讀者多多思考,學技術不難,難在於如何合理的使用技術。我是東方雨傾,如果您喜歡我的文章,希望點個關注多多執行哦。

原文地址:http://leisure.wang/?p=465


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM