成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

當Docker遇上IDEA ,生產力徹底炸裂了

新聞 前端
Idea是Java開發利器,SpringBoot是Java生態中最流行的微服務框架,docker是時下最火的容器技術,那么它們結合在一起會產生什么化學反應呢?

 [[411168]]

Idea是Java開發利器,SpringBoot是Java生態中最流行的微服務框架,docker是時下最火的容器技術,那么它們結合在一起會產生什么化學反應呢?

一、開發前準備

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

2.配置docker遠程連接端口

  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.連接遠程docker

(1) 編輯配置

(2) 填遠程docker地址

(3) 連接成功,會列出遠程docker容器和鏡像

二、新建項目

1.創建springboot項目

項目結構圖:

(1) 配置pom文件

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

(2) 在src/main目錄下創建docker目錄,并創建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目錄下創建application.properties文件

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

(4) 創建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) 創建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 : 綁定宿主機端口到容器內部端口。格式為[宿主機端口]:[容器內部端口] 
  4.  
  5. Bind mounts : 將宿主機目錄掛到到容器內部目錄中。格式為[宿主機目錄]:[容器內部目錄]。這個springboot項目會將日志打印在容器 
  6.  
  7. /home/developer/app/logs/ 目錄下,將宿主機目錄掛載到容器內部目錄后,那么日志就會持久化容器外部的宿主機目錄中。 

(7) Maven打包

(8) 運行

先pull基礎鏡像,然后再打包鏡像,并將鏡像部署到遠程docker運行

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

(9) 運行成功

(10) 瀏覽器訪問

(11) 日志查看

自此通過idea 部署springboot項目到docker成功!難以想象,部署一個Javaweb項目竟然如此簡單方便!

 

責任編輯:張燕妮 來源: 民工哥技術之路
相關推薦

2022-03-14 15:07:28

DockerJavaIdea

2022-09-13 13:02:33

VSCodeIDEA

2012-08-27 13:30:21

BYOD

2020-12-07 06:22:05

MyBatisPlus開發MP

2023-02-13 08:34:26

Linux鍵盤快捷鍵

2024-05-21 00:00:00

2016-07-14 14:12:11

華為

2023-02-02 15:10:33

自動化RPA

2020-10-28 10:25:11

云端云計算云遷移

2019-12-23 15:28:47

人工智能AI生產力

2024-04-01 14:24:05

數字信任人工智能

2023-04-06 09:53:21

Harbor企業級服務

2018-07-23 14:57:12

2010-07-28 15:02:52

Compuwareworkbench

2018-09-18 09:45:54

2023-07-07 14:51:34

2020-11-27 10:50:01

移動設計微軟

2021-09-14 16:21:47

遠程辦公戴爾科技

2023-10-31 18:01:26

安全掃描代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产片侵犯亲女视频播放 | 欧美专区日韩 | 欧美精品一区二区三 | 国产欧美日韩综合精品一 | 91av久久久 | 亚洲欧美在线一区 | 亚洲国产成人精品一区二区 | 91在线视频免费观看 | 亚洲精品久久久蜜桃网站 | 欧美日韩在线一区二区三区 | 免费一二区 | 热99在线| 毛片免费观看视频 | 欧美日韩在线免费观看 | 国产一区 日韩 | 国产麻豆乱码精品一区二区三区 | 国产日韩欧美在线观看 | 成人精品免费视频 | 国产成人精品一区二区三区视频 | 精品一区二区久久久久久久网精 | 欧美嘿咻 | 在线观看av免费 | 范冰冰一级做a爰片久久毛片 | 亚洲高清在线 | 免费视频一区二区 | 久久久免费毛片 | 午夜免费视频 | 天堂网avav| 97精品久久 | 91精品在线观看入口 | 午夜一区二区三区在线观看 | 亚洲精品一区二区三区中文字幕 | 久久精品国产一区二区电影 | 狠狠干综合视频 | 精品国产成人 | 看羞羞视频 | 日韩欧美天堂 | 欧美精品片 | 一级黄色片在线免费观看 | 国产一区二区三区在线视频 | 久久69精品久久久久久久电影好 |