国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

云服務(wù)器|WEB服務(wù)器|FTP服務(wù)器|郵件服務(wù)器|虛擬主機(jī)|服務(wù)器安全|DNS服務(wù)器|服務(wù)器知識(shí)|Nginx|IIS|Tomcat|

服務(wù)器之家 - 服務(wù)器技術(shù) - 服務(wù)器知識(shí) - docker-compose 配置spring環(huán)境的方法步驟

docker-compose 配置spring環(huán)境的方法步驟

2021-04-12 16:20鯨冬香 服務(wù)器知識(shí)

這篇文章主要介紹了docker-compose 配置spring環(huán)境的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

最近需要打包項(xiàng)目給成員們進(jìn)行測(cè)試,但打包運(yùn)行后很影響開(kāi)發(fā),于是打算使用docker模擬生產(chǎn)環(huán)境運(yùn)行打包后的項(xiàng)目,這樣就能既開(kāi)發(fā),又能給成員進(jìn)行測(cè)試了。

由于原項(xiàng)目過(guò)大,打算先拿軟件工程的大實(shí)驗(yàn)試試水,軟件工程大實(shí)驗(yàn)使用的是spring-boot,redis,mysql,angular,nginx這些環(huán)境,先試了試后臺(tái)的spring-boot,redis,mysqldocker搭建。

docker-compose

compose項(xiàng)目是docker官方的開(kāi)源項(xiàng)目,負(fù)責(zé)實(shí)現(xiàn)對(duì)docker容器集群的快速編排。compose定位是定義和運(yùn)行多個(gè)docker容器的應(yīng)用。

我們都知道,使用一個(gè)dockerfile模版文件就可以創(chuàng)建一個(gè)應(yīng)用容器,但通常在一個(gè)項(xiàng)目中,需要多個(gè)應(yīng)用容器,就像我的后臺(tái),同時(shí)需要jdk8redismysql這些應(yīng)用。docker-compose剛好滿足了這樣的需求。它允許用戶通過(guò)一個(gè)單獨(dú)的docker-compose.yml模版文件來(lái)定義一組相關(guān)聯(lián)的應(yīng)用容器為一個(gè)項(xiàng)目。

compose中兩個(gè)重要的概念:

服務(wù)(service):一個(gè)應(yīng)用的容器,實(shí)際可以包括若干運(yùn)行相同鏡像的容器實(shí)例。
項(xiàng)目(project):由一組關(guān)聯(lián)的應(yīng)用容器組成的一個(gè)完整的業(yè)務(wù)單元,在docker-compose.yml文件中定義。

服務(wù)就是我們需要的docker容器,項(xiàng)目就是由許多服務(wù)構(gòu)成的,了解了docker-compose之后就可以進(jìn)行環(huán)境搭建了。

搭建spring-boot

為了編譯spring-boot,基于以下流程:

  • 基于jdk8鏡像
  • 將spring-boot下的mvnw、pom.xml復(fù)制到容器中,導(dǎo)入maven依賴
  • 將src目錄下的源碼復(fù)制到容器中,使用maven打包spring-boot項(xiàng)目
  • 使用jre8環(huán)境運(yùn)行項(xiàng)目

構(gòu)建的dockerfile文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#### 建立spring-boot項(xiàng)目
from openjdk:8-jdk-alpine as build
 
# 設(shè)置項(xiàng)目在docker容器中工作目錄
workdir /app
 
# 將 maven 可執(zhí)行程序復(fù)制到容器中
copy mvnw .
copy .mvn .mvn
 
# 復(fù)制pom.xml文件
copy pom.xml .
 
# 導(dǎo)入所有maven依賴
run ./mvnw dependency:go-offline -b
 
# 復(fù)制項(xiàng)目源代碼
copy src src
 
# 打包應(yīng)用程序
run ./mvnw package -dskiptests
run mkdir -p target/dependency && (cd target/dependency; jar -xf ../*.jar)
 
#### 設(shè)置能運(yùn)行應(yīng)用程序的最小docker容器
from openjdk:8-jre-alpine
 
arg dependency=/app/target/dependency
 
# copy project dependencies from the build stage
copy --from=build ${dependency}/boot-inf/lib /app/lib
copy --from=build ${dependency}/meta-inf /app/meta-inf
copy --from=build ${dependency}/boot-inf/classes /app
 
entrypoint ["java","-cp","app:app/lib/*","com.xiang.airticket.airticketapplication"]

docker-compose 集成項(xiàng)目服務(wù)

完成了spring-boot的容器構(gòu)建后,就可以使用docker-compose集成spring-boot、redis、mysql容器了。具體思路:

  • 聲明項(xiàng)目
  • 聲明項(xiàng)目需要集成的服務(wù)

docker-compose.yml文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
version: '3.7'
 
# 定義服務(wù)
services:
 # spring-boot服務(wù)
 app-server:
  build:
   context: . # 配置需要構(gòu)建dockerfile的路徑 相對(duì)于docker-compose.yml
   dockerfile: dockerfile
  ports:
   - "8080:8080" # 將本機(jī)8080端口映射到容器8080端口
  restart: always
  depends_on:
   - db # 需要依賴的服務(wù) 率先構(gòu)建
   - redis
  environment: # 設(shè)置環(huán)境變量
   spring_datasource_url: jdbc:mysql://db:3306/airticket?usessl=false&servertimezone=utc&uselegacydatetimecode=false
   spring_datasource_username: root
   spring_datasource_password: 123456
   spring_redis.host: redis
  networks: # 網(wǎng)絡(luò) 連接mysql和redis
   - backend
 db:
  image: mysql:5.6
  ports:
   - "3306:3306"
  restart: always
  environment:
   mysql_database: airticket
   mysql_user: htx
   mysql_password: 123456
   mysql_root_password: 123456
  volumes:
   - db-data:/var/lib/mysql
  networks:
   - backend
 redis:
  image: redis
  command: [ "redis-server", "--protected-mode", "no" ]
  hostname:
   redis
  ports:
   - "6379:6379"
  networks:
   - backend  
volumes:
 db-data:
networks:
 backend:

使用docker-compose build構(gòu)建項(xiàng)目容器:

docker-compose 配置spring環(huán)境的方法步驟

使用docker-compose up啟動(dòng)容器:

docker-compose 配置spring環(huán)境的方法步驟

當(dāng)成功看到spring-boot啟動(dòng)成功的日志,就成功配置好了。

后續(xù)

這次只構(gòu)建了后臺(tái),希望能把前臺(tái)的angular、nginx也構(gòu)建完畢,爭(zhēng)取一條docker命令,就直接啟動(dòng)應(yīng)用程序。

參考鏈接:spring boot, mysql, react docker compose example

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://segmentfault.com/a/1190000020953106

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 成人午夜| 亚洲成人久久久 | 亚洲天堂中文字幕 | 国产一区二区av | a级性生活 | 午夜剧场免费在线观看 | 久久久亚洲精 | 亚洲成av人片在线观看无码 | 久久66| 艹逼短视频 | 亚洲一区中文字幕在线观看 | 人成网址 | 91久久九色 | 99re| 日韩电影免费在线观看中文字幕 | 亚洲欧美v国产一区二区 | 水密桃av | 国产玖玖 | 97国产一区二区精品久久呦 | 在线视频自拍 | 欧美精品一区二区三区蜜桃视频 | 午夜免费电影 | 偷拍自拍第一页 | 国产99久久精品 | 97精品在线 | 亚洲国产成人一区二区精品区 | a久久| 亚洲成人福利 | 亚洲毛片 | 午夜精品福利在线观看 | 伦乱视频| 成人av电影网址 | 一级全黄少妇性色生活片免费 | 欧美一区二区三区在线观看视频 | 福利在线播放 | 精品成人一区二区 | 久久久999国产 | 中文字幕国产视频 | 亚洲综合区| 成人在线二区 | 亚洲精品日本 |