從第一篇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---一個開源的企業級全棧化容器部署及管理平臺
-----------------------------------------------------