SpringCloud 微服務 (十七) 容器部署 Docker

從第一篇Spring Cloud預備學習到如今,基本組件學習也接近尾聲,最後完成的項目,就能夠部署java

關於部署,會結合docker容器進行,在學習Spring Cloud的同時,也粗略學習了docker的知識,也推薦你們使用docker容器技術linux

windows、mac、linux均可以裝, 本次記錄部署事先docker已經安裝好了spring

無論會不會docker,如下以一種簡單易學的方式作個筆記docker

 

部署

從微服務的起點開始,本次以eureka server註冊中心做爲例子在docker上部署並運行apache

以上是以前的eureka server的目錄以及yml配置,docker中須要將該服務應用打成jar,而後製做dockerfile,放入docker運行便可windows

docker中的鏡像也是別人作好上傳到倉庫中,下面本身來製做瀏覽器

事先在yml中加上服務端口,做一個容器對外的映射端口bash

server:
  port: 8761

在根目錄建立一個文件名爲Dockerfile,這個命名是官方肯定,絕對的,意思是不能自定義maven

在網易鏡像中心,能夠點開倉庫中的鏡像,也是別人提供的Dockerfile,能夠看一下,學習怎麼寫微服務

點擊IDEA下方的Terminal ,把項目從新打個Jar包, 命令: mvn clean install -DskipTests

Dockerfile 以下: 

#網易鏡像中心的Java
FROM hub.c.163.com/library/java:latest
#本身項目Jar包的路徑,eurrka.jar能夠自定義
ADD target/*.jar eureka.jar
#端口
EXPOSE 8761
#運行Jar
ENTRYPOINT ["java", "-jar", "/eureka.jar"]

而後在Terminal控制檯,輸入docker build -t springcloud/eureka . (最後點 . 不能少,表示當前路徑)

查看docker images鏡像,就發現鏡像已經生成, 來運行一下: docker run -p 8761:8761 -d springcloud/eureka

瀏覽器訪問: http://localhost:8761   就能夠看到eureka註冊中心,完成

若是想把本身的鏡像分享給別人,能夠在鏡像中心創建一個倉庫,將本身的鏡像上傳,別人能夠下載並運行,支持純文件,hub,lab等方式

 

製做複雜點的鏡像,以前說的去鏡像中看一些別人發佈的鏡像dockerfile,對應着dockfile命令屬性表,關於命令網上不少博客寫的也比較詳細,實踐幾番就會熟悉了

好比官方Java Dockerfile的構建,代碼也很少, 以下: 

 

偷懶點的方法,建一個build.sh文件,文件內容爲操做步驟 ,最後上傳到鏡像中心:

#!/usr/bin/env bash

mvn clean install -DskipTests

docker build -t hub.c.163.com/springcloud/eureka .

docker push hub.c.163.com/springcloud/eureka

執行該文件命令: bash build.sh ,就方便的完成一系列的點點點操做

 

另一種方法是利用docker-maven-plugin的maven打包工具來製做鏡像部署,效果是同樣的,分享給你們

本章就記錄到這裏,後面繼續學習RANCHER---一個開源的企業級全棧化容器部署及管理平臺

-----------------------------------------------------

相關文章
相關標籤/搜索