日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
當(dāng)Docker遇上IDEA ,生產(chǎn)力徹底炸裂了

Idea是Java開發(fā)利器,SpringBoot是Java生態(tài)中最流行的微服務(wù)框架,docker是時(shí)下最火的容器技術(shù),那么它們結(jié)合在一起會(huì)產(chǎn)生什么化學(xué)反應(yīng)呢?

一、開發(fā)前準(zhǔn)備

1.Docker的安裝可以參考https://docs.docker.com/install/

2.配置docker遠(yuǎn)程連接端口

 
 
 
 
  1. vi /usr/lib/systemd/system/docker.service 

找到 ExecStart,在最后面添加 -H tcp://0.0.0.0:2375,如下圖所示:

3.重啟docker

 
 
 
 
  1. systemctl daemon-reload 
  2.  
  3. systemctl start docker 

4.開放端口

 
 
 
 
  1. firewall-cmd --zone=public --add-port=2375/tcp --permanent 

5.Idea安裝插件,重啟

6.連接遠(yuǎn)程docker

(1) 編輯配置

(2) 填遠(yuǎn)程docker地址

(3) 連接成功,會(huì)列出遠(yuǎn)程docker容器和鏡像

二、新建項(xiàng)目

1.創(chuàng)建springboot項(xiàng)目

項(xiàng)目結(jié)構(gòu)圖:

(1) 配置pom文件

 
 
 
 
  1.  
  2.  
  3.  
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  5.  
  6. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
  7.  
  8. 4.0.0 
  9.  
  10. docker-demo 
  11.  
  12. com.demo 
  13.  
  14. 1.0-SNAPSHOT 
  15.  
  16.  
  17.  
  18. org.springframework.boot 
  19.  
  20. spring-boot-starter-parent 
  21.  
  22. 2.0.2.RELEASE 
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30. UTF-8 
  31.  
  32. UTF-8 
  33.  
  34. com.demo 
  35.  
  36. 1.8 
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46. org.springframework.boot 
  47.  
  48. spring-boot-maven-plugin 
  49.  
  50.  
  51.  
  52.  
  53.  
  54. com.spotify 
  55.  
  56. docker-maven-plugin 
  57.  
  58. 1.0.0 
  59.  
  60.  
  61.  
  62. src/main/docker 
  63.  
  64.  
  65.  
  66.  
  67.  
  68. / 
  69.  
  70. ${project.build.directory} 
  71.  
  72. ${project.build.finalName}.jar 
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84. maven-antrun-plugin 
  85.  
  86.  
  87.  
  88.  
  89.  
  90. package 
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104. run 
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122. org.springframework.boot 
  123.  
  124. spring-boot-starter-web 
  125.  
  126.  
  127.  
  128.  
  129.  
  130. org.springframework.boot 
  131.  
  132. spring-boot-starter-test 
  133.  
  134. test 
  135.  
  136.  
  137.  
  138.  
  139.  
  140. log4j 
  141.  
  142. log4j 
  143.  
  144. 1.2.17 
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  

(2) 在src/main目錄下創(chuàng)建docker目錄,并創(chuàng)建Dockerfile文件

 
 
 
 
  1. FROM openjdk:8-jdk-alpine 
  2.  
  3. ADD *.jar app.jar 
  4.  
  5. ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] 

(3) 在resource目錄下創(chuàng)建application.properties文件

 
 
 
 
  1. logging.config=classpath:logback.xml 
  2.  
  3. logging.path=/home/developer/app/logs/ 
  4.  
  5. server.port=8990 

(4) 創(chuàng)建DockerApplication文件

 
 
 
 
  1. @SpringBootApplication 
  2.  
  3. public class DockerApplication { 
  4.  
  5. public static void main(String[] args) { 
  6.  
  7. SpringApplication.run(DockerApplication.class, args); 
  8.  
  9.  

(5) 創(chuàng)建DockerController文件

 
 
 
 
  1. @RestController 
  2.  
  3. public class DockerController { 
  4.  
  5. static Log log = LogFactory.getLog(DockerController.class); 
  6.  
  7. @RequestMapping("/") 
  8.  
  9. public String index() { 
  10.  
  11. log.info("Hello Docker!"); 
  12.  
  13. return "Hello Docker!"; 
  14.  
  15.  

(6) 增加配置

命令解釋

 
 
 
 
  1. Image tag : 指定鏡像名稱和tag,鏡像名稱為 docker-demo,tag為1.1 
  2.  
  3. Bind ports : 綁定宿主機(jī)端口到容器內(nèi)部端口。格式為[宿主機(jī)端口]:[容器內(nèi)部端口] 
  4.  
  5. Bind mounts : 將宿主機(jī)目錄掛到到容器內(nèi)部目錄中。格式為[宿主機(jī)目錄]:[容器內(nèi)部目錄]。這個(gè)springboot項(xiàng)目會(huì)將日志打印在容器 
  6.  
  7. /home/developer/app/logs/ 目錄下,將宿主機(jī)目錄掛載到容器內(nèi)部目錄后,那么日志就會(huì)持久化容器外部的宿主機(jī)目錄中。 

(7) Maven打包

(8) 運(yùn)行

先pull基礎(chǔ)鏡像,然后再打包鏡像,并將鏡像部署到遠(yuǎn)程docker運(yùn)行

這里我們可以看到鏡像名稱為docker-demo:1.1,docker容器為docker-server

(9) 運(yùn)行成功

(10) 瀏覽器訪問

(11) 日志查看

自此通過idea 部署springboot項(xiàng)目到docker成功!難以想象,部署一個(gè)Javaweb項(xiàng)目竟然如此簡(jiǎn)單方便!


當(dāng)前文章:當(dāng)Docker遇上IDEA ,生產(chǎn)力徹底炸裂了
標(biāo)題鏈接:http://www.dlmjj.cn/article/dpcscoh.html