日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring eureka集群+spring boot 微服务,容器化部署示例

發(fā)布時(shí)間:2023/11/30 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring eureka集群+spring boot 微服务,容器化部署示例 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、docker安裝
這里先采用在線安裝,利用docker hup下載基礎(chǔ)鏡像
1.環(huán)境版本要求

內(nèi)核版本3.10及其以上
操作系統(tǒng)位數(shù)為64位
CPU架構(gòu)為x86_64或amd64(目前也有別的支持)
內(nèi)核開啟并支持cgroup和命名空間

2.命令檢查內(nèi)核版本,本地環(huán)境為centos7

uname -r
1
3.更新yum

sudo yum update
1
4.添加Docker的yum源

sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
?
5.安裝Docker軟件包

sudo yum install docker-engine
1
6.設(shè)置Docker服務(wù)開機(jī)自啟

sudo systemctl enable docker.service
1
7.啟動(dòng)Docker服務(wù)

sudo systemctl start docker
1
8.驗(yàn)證Docker是否安裝成功

docker -v
1
9.查看鏡像

[root@localhost ~]# docker images
REPOSITORY ? ? ? ? ?TAG ? ? ? ? ? ? ? ? IMAGE ID ? ? ? ? ? ?CREATED ??
1
2
10.刪除docker

?sudo yum remove docker \
? ? ? ? ? ? ? ? ? docker-client \
? ? ? ? ? ? ? ? ? docker-client-latest \
? ? ? ? ? ? ? ? ? docker-common \
? ? ? ? ? ? ? ? ? docker-latest \
? ? ? ? ? ? ? ? ? docker-latest-logrotate \
? ? ? ? ? ? ? ? ? docker-logrotate \
? ? ? ? ? ? ? ? ? docker-selinux \
? ? ? ? ? ? ? ? ? docker-engine-selinux \
? ? ? ? ? ? ? ? ? docker-engine
?
二、項(xiàng)目配置
springcloud版本:

<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
spring-boot-starter-parent:2.0.3
?
1.eureka
1)關(guān)鍵pom

?? ??? ?<dependency>
? ? ? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? ? ? <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
? ? ? ? </dependency>
?
2)啟動(dòng)類

@SpringBootApplication
@EnableEurekaServer
public class CommonserviceEurekaApplication extends SpringBootServletInitializer {

? ? public static void main(String[] args) {

? ? ? ? SpringApplication.run(CommonserviceEurekaApplication.class, args);
? ? }

? ? @Override
? ? protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
? ? ? ? return builder.sources(CommonserviceEurekaApplication.class);
? ? }
}
?
3)配置文件關(guān)鍵參數(shù)

eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
1
2.config
1)關(guān)鍵pom

?? ? <!--注冊(cè)發(fā)現(xiàn)-->
?? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? ? ? <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
? ? ? ? </dependency>
? ? ? ? ? <!--配置中心-->
? ? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? ? ? <artifactId>spring-cloud-config-server</artifactId>
? ? ? ? </dependency>
?
2)啟動(dòng)類

@SpringBootApplication
@EnableConfigServer
@EnableDiscoveryClient
@EnableEurekaClient
public class ConfigServerApplication {

?? ?public static void main(String[] args) {
?? ??? ?SpringApplication.run(ConfigServerApplication.class, args);
?? ?}
}
?
3)配置文件關(guān)鍵參數(shù)

#配置注冊(cè)服務(wù)中心
eureka.client.serviceUrl.defaultZone= http://${eureka-container-name}:${config-service-port}/eureka/
#設(shè)置為本地啟動(dòng)的方式,而不是通過git
spring.profiles.active=native
#配置本地配置路徑
spring.cloud.config.server.native.search-locations=${local-config-path}

注意:上面的${eureka-container-name}為eureka容器的別名或者id

三、生成鏡像
1.項(xiàng)目eureka\config分別打包上傳服務(wù)器
2.Dockerfile

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD ROOT.jar app.jar
#RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
EXPOSE ${PORT}


注意上面的${PORT} 應(yīng)替換成eureka\config設(shè)置的不同容器聲明端口
3.build 生成鏡像

docker build -t orginaztion/service-image-name:tag
1
其中-t 標(biāo)識(shí)鏡像tag ,格式為:所屬庫/服務(wù)鏡像名:版本

四、運(yùn)行鏡像
其中l(wèi)ocalhost???port替換為宿主機(jī)開放端口,{localhost-*-port}替換為宿主機(jī)開放端口,localhost???port替換為宿主機(jī)開放端口,{container-*-port}替換為容器服務(wù)端口
1.啟動(dòng)eureka

docker run --name eureka-service -d -it -p ${localhost-eureka-port}:${container-eureka-port} orginaztion/service-image-name:tag
1
注意:
并且name對(duì)應(yīng)config中的注冊(cè)機(jī)參數(shù)的${eureka-container-name}
2.啟動(dòng)config

docker run --name config-server ?--link eureka-server:eureka-server-name-alias -d -it -p ${localhost-config-port}:${container-config-port} -v ${local-config-path}:${contain-config-path} orginaztion/service-image-name:tag
1
注意:config依賴eureka,用–link鏈接 ,-v指定本地配置路徑鏈接容器相應(yīng)路徑
3.訪問config配置信息

http://${localhost}:${localhost-config-port}/${prefix-config-name}/test|dev|prod
?

?

總結(jié)

以上是生活随笔為你收集整理的spring eureka集群+spring boot 微服务,容器化部署示例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。