您的位置:首頁>正文

將spring cloud打包docker鏡像

簡介:用spring cloud構建微服務後, 微服務肯定要docker鏡像化然後用rancher等視覺化工具管理, 這就是走完了一套基本的流程, 現在簡單介紹下

環境:兩台centos7.x的伺服器, 一臺本地window10

一個spring cloud的eureka的註冊中心,

一個spring cloud的普通服務, 註冊到eureka

前提:首先你的spring cloud註冊中心和普通服務要能本地運行, 百度一搜到處都是資料, 這裡我就不細講了, 現在我們要把spring cloud部署到伺服器上面

步驟:1.修改註冊中心專案設定檔

spring.application.name=eureka-server

server.port=1111

eureka.instance.hostname=IP1 //註冊中心所在伺服器IP

eureka.client.register-with-eureka=false

eureka.client.fetch-registry=false

eureka.client.serviceUrl.defaultZone=http://IP1:1111/eureka/ //這裡注意加上http://

修改普通服務設定檔

spring.application.name=api-gateway

server.port=5555

eureka.instance.hostname=IP2 //普通服務所在伺服器IP

eureka.client.serviceUrl.defaultZone=http://IP1:1111/eureka/ //這裡注意加上http://

Dockerfile內容:

# 基於哪個鏡像FROM java:8

# 將本地資料夾掛載到當前容器VOLUME /home/container

# 拷貝檔到容器, 也可以直接寫成ADD eureka-server-0.0.1-SNAPSHOT.jar /app.jar

# 這個地方jar包名稱改成自己的jar名稱

ADD eureka-server-0.0.1-SNAPSHOT.jar app.jar

RUN bash -c 'touch /app.jar'

# 開放1111埠EXPOSE 1111

# 配置容器啟動後執行的命令ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

實際就是執行的linux命令, 容器有自己一套獨立的環境, 實現了環境的隔離, 後面不管在什麼環境下, 我們pull下這個鏡像就可以直接運行

然後打包鏡像 docker build -t eureka-server . //eureka-server是鏡像名稱可以自己定, 最後的一個.不要省略了, 他是用來找到Dockerfile檔的, 不然會打包不成功的

打包完成後運行docker images查看鏡像,發現有我們的eureka-server鏡像了

將鏡像運行在容器中:docker run -d -p 1111:1111 eureka-server //-d 表示後臺運行, -p是埠映射

成功後查看正在運行容器: docker ps 發現eureka-server已經運行起來, 訪問http://IP1:1111就出現了我們熟悉的註冊中心的介面了, bingo

普通服務是一樣的, 放在另一台伺服器上面(當然也可以放在同一台伺服器上面的),

啟動成功我們就在註冊中心頁面看到api-gate這個服務已經註冊進來了

這樣我們就實現了基本的spring cloud的docker化,當然如果你會打包docker鏡像了就會發現每次都要打包很煩很煩, 需求驅動你需要做持續集成了, 還有介面化的管理等等

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示