1. 程式人生 > >Spring Cloud Learning | 第十二篇:Docker部署Spring Cloud專案

Spring Cloud Learning | 第十二篇:Docker部署Spring Cloud專案

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
			<!-- tag::plugin[] -->
			<plugin>
				<groupId>com.spotify</groupId>
				<artifactId>docker-maven-plugin</artifactId>
				<version>1.0.0</version>
				<configuration>
					<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
					<baseImage>java</baseImage>
					<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
					<resources>
						<resource>
							<targetPath>/</targetPath>
							<directory>${project.build.directory}</directory>
							<include>${project.build.finalName}.jar</include>
						</resource>
					</resources>
				</configuration>
			</plugin>
			<!-- end::plugin[] -->
		</plugins>
	</build>



      · resources是指那些需要和Dockerfile放在一起,在構建映象時使用的檔案,一般應用 jar 包需要納入。resources.resource.directory用於指定需要複製的根目錄,${project.build.directory}表示target目錄,resources.resource.include用於指定需要複製的檔案,${project.build.finalName}.jar指的是打包後的jar包檔案。

server.port=8761

eureka.instance.prefer-ip-address=true
# 代表不向註冊中心註冊自己
eureka.client.register-with-eureka=false
# 由於註冊中心的職責就是維護服務例項,它並不需要去檢索服務,所以設定為false
eureka.client.fetch-registry=false

      最後使用maven命令構建映象:
mvn clean package docker:build
spring.application.name=hello-service
# host改為映象名
eureka.client.serviceUrl.defaultZone=http://eureka-server:8761/eureka
server.port=8763
eureka.instance.prefer-ip-address=true
eureka.instance.instance-id=${spring.application.name}:${random.int}
mvn clean package docker:build

      到這裡eureka-server和eureka-client映象已經都構建好了,接著使用命令列啟動映象:
# 啟動伺服器
docker run --name eureka-server -p 8761:8761 -t dan/eureka-server 
# 註冊服務
docker run --link eureka-server:8761 -p 8763:8763 -t dan/eureka-client 

version: '3'
services:
  eureka-server:
    image: dan/eureka-server
    ports:
      - "8761:8761"

  hello-service:
    image: dan/eureka-client
    ports:
      - 8763
    links:
      - eureka-server

  service-ribbon:
    image: dan/service-ribbon
    ports:
      - "8764:8764"
    links:
      - eureka-server 

  service-feign:
    image: dan/service-feign
    ports:
      - "8765:8765"
    links:
      - eureka-server

  service-zuul:
    image: dan/service-zuul
    ports:
      - "8769:8769"
    links:
      - eureka-server 

      最後執行命令啟動映象:
docker-compose up



      如果要增加或減少docker例項,直接使用docker-compose scale hello-service=3修改例項數;停止執行則使用docker-compose stop即可。


相關推薦

Spring Cloud Learning | Docker部署Spring Cloud專案

<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>sprin

史上最簡單的SpringCloud教程 | docker部署spring cloud項目

大數 imageview 建議 chapter 環境 多次 pan mas 存儲 Docker是一個開源的引擎,可以輕松的為任何應用創建一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括VMs(虛擬機)、bare m

史上最簡單的SpringCloud教程 | docker部署spring cloud專案

Docker是一個開源的引擎,可以輕鬆的為任何應用建立一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括VMs(虛擬機器)、bare metal、OpenStack 叢集和其他的基礎應用平臺。 Docker通常用於如下場景:

跟我學SpringCloud | Spring Cloud Gateway初探

SpringCloud系列教程 | 第十二篇:Spring Cloud Gateway初探 Springboot: 2.1.6.RELEASE SpringCloud: Greenwich.SR1 如無特殊說明,本系列教程全採用以上版本 前面我們在聊服務閘道器Zuul的時候提到了Gateway,那

Spring Boot 基礎系列教程 | 使用Spring-data-jpa簡化資料訪問層(推薦)

推薦 Spring Boot/Cloud 視訊: Spring Boot中使用Spring-data-jpa讓資料訪問更簡單、更優雅 在上一篇Spring中使用JdbcTemplate訪問資料庫 中介紹了一種基本的資料訪問方式,結合構建RESTful API和

Spring Boot之使用Spring RestTemplate訪問Rest服務

RestTemplate是Spring3.0後開始提供的用於訪問 Rest 服務的輕量級客戶端,相較於傳統的HttpURLConnection、Apache HttpClient、OkHttp等框架,RestTemplate大大簡化了發起HTTP請求以及處理響應的過程。這篇文章主要介紹怎

Spring Cloud實戰 | Spring Cloud Gateway 閘道器實現對RESTful介面許可權控制和按鈕許可權控制

## 一. 前言 hi,大家好,這應該是農曆年前的關於開源專案[有來商城](https://github.com/hxrui) 的最後一篇文章了。 [有來商城](https://github.com/hxrui) 是基於 Spring Cloud OAuth2 + Spring Cloud Gateway

Spring Cloud實戰 | Spring Cloud Gateway閘道器實現對RESTful介面許可權和按鈕許可權細粒度控制

## 一. 前言 hi,大家好,這應該是農曆年前的關於開源專案[有來商城](https://github.com/hxrui) 的最後一篇文章了。 [有來商城](https://github.com/hxrui) 是基於 Spring Cloud OAuth2 + Spring Cloud Gateway

HTML基礎

項目 logs 瀏覽器 圖片 handle 標題欄 width light 標題 本篇內容 HTML概述 HTML常用基本標簽 CSS格式引入 一、 HTML概述 1.定義: HTML,超文本標記語言,寫給瀏覽器的語言,目前網絡上應用最廣泛的語言。HTML也在不斷

spring boot實戰()整合RabbitMQ

this direct 還需要 添加屬性 創建 還需 topic start routing 前言 本篇主要講述Spring Boot與RabbitMQ的整合,內容非常簡單,純API的調用操作。 操作之間需要加入依賴Jar [html] view plain cop

數據庫操作

mysq 查詢 alc mys clas 多對多 class 操作 連接查詢 一、數據庫簡紹 二、mysql 增刪改查 三、mysql 外鍵關聯 四、mysql 連接查詢 五、mysql 事務與索引 六、ORM 簡紹 七、sqlalchemy 常用語法 八、sqlalche

史上最簡單的SpringCloud教程 | 斷路器監控(Hystrix Dashboard)

詳細 pre 良好的 依次 alt ews 需要 ext 數據監控 最新Finchley版本,請訪問:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f12-dash/或者http://blog.csdn.net

隨手記一下javaBean的setter,getter方法的命名問題

今天測試新寫的一個系統表的完整Ibatis配置和呼叫,因為經驗少,到處撞牆、、、其他的坑爹問題就不提了       測試sqlMapClient.queryForList("...",param)這個方法,查詢正常有3條記錄,但是結果卻是[

12,spring宣告式事務管理-註解式

1,複製專案spring404 ,改名spring404-3。修改BankServiceImpl類,添加註解,package com.cruise.service.impl;import org.springframework.transaction.annotation.Tra

【SSH三大框架】Hibernate基礎load()懶載入分析以及一對一、一對多、多對一、多對多懶載入的分析

一、懶載入的定義: 懶載入:在WEB應用程式中,經常會需要查詢資料庫,系統的響應速度在很大程度上是與資料庫互動的響應。因此,如果能夠優化與資料庫的互動速度,則能夠大大提高WEB應用的響應速度。 例如:當有一個Student類和一個Teacher類。當我們載入一個學生的所有資

R實戰 隨機數

由R生成的隨機數實際上偽隨機數,也就是說,隨機數是由某種演算法而不是真正的隨機過程產生的,隨機數生成器需要一個初始值來生成數字,該初始值叫做種子。通過把種子設定為特定的值,可以保證每次運行同一段程式碼時都能生成相同的隨機數。 R使用set.seed(n)函式來設定種子值,n是一個正整數,不同的種子會生成不同

SM2演算法數字證書原理

作者:無恙 完美的邏輯,簡直碉堡了。學習學習,,,尊重原創,熱愛大神。 通過一段時間的學習,我漸漸地可以將好幾篇不同的部落格聯絡起來,對照著看,領會到各篇文章之間的交叉與獨到之處。 ---------------------------------------------

【屌絲程式的口才逆襲演講稿50世界上最快的捷徑【張振華.Jack】

演講稿主題:《世界上最快的捷徑》                    --作者:張振華Jack 給大家講個故事。         有一天正好猴子和鸚鵡坐同一架飛機去旅行。猴子向空姐說:“請來一瓶礦泉

OpenCV學習帶透明通道影象合成(縮放,旋轉,和ROI)

第一步:獲取素材圖片 Mat src, dst; src = imread("F:/識圖/底圖.PNG", 1); dst = imread("logo", -1); 【ps:這裡需要注意的是透明度圖片獲取,後面的引數帶-1】 第二

一起來學SpringBoot | actuator與spring-boot-admin 可以說的祕密

SpringBoot 是為了簡化 Spring 應用的建立、執行、除錯、部署等一系列問題而誕生的產物,自動裝配的特性讓我們可以更好的關注業務本身而不是外部的XML配置,我們只需遵循規範,引入相關的依賴就可以輕易的搭建出一個 WEB 工程 一起來學Spr