當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
IDEA Springboot docker 构建项目
生活随笔
收集整理的這篇文章主要介紹了
IDEA Springboot docker 构建项目
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、新建Maven工程,Pom.xml如下
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>Docker</artifactId><groupId>com.tonels</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>dockerDemo1</artifactId><dependencies><dependency><groupId>com.tonels</groupId><artifactId>common</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><version>2.0.8.RELEASE</version><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins><finalName>docker-spring-boot</finalName></build></project>二、項目結構,沒有很復雜
三、代碼展示
3.1 DkController
package dockerDemo1.controller;import com.google.common.collect.Lists; import dockerDemo1.model.Book; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController @RequestMapping("/") public class DkController {private static List<Book> books = null;static {Book b1 = new Book().setId("1").setName("霍亂").setAuthor("馬爾克斯").setPrice("12");Book b2 = new Book().setId("2").setName("百年孤獨").setAuthor("馬爾克斯").setPrice("12");Book b3 = new Book().setId("3").setName("少年閏土").setAuthor("魯迅").setPrice("12");Book b4 = new Book().setId("4").setName("三味書屋").setAuthor("魯迅").setPrice("12");books= Lists.newArrayList(b1,b2,b3,b4);}@GetMapping("/book")public Book test(){Book book = new Book().setId("1").setName("霍亂").setAuthor("馬爾克斯").setPrice("12");// Map<String, String> pojoToMap = Splitter.on(",").withKeyValueSeparator(":").split(JSONUtil.toJsonStr(book)); // JSONUtil.return book;}@GetMapping("/list")public List<Book> testAll(){return books;}}3.2 Book
package dockerDemo1.model;import lombok.Data; import lombok.experimental.Accessors;@Data @Accessors(chain = true) public class Book {private String id;private String name;private String author;private String price;}3.3 DkDemo1
package dockerDemo1;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication public class DkDemo1 {public static void main(String[] args) {SpringApplication.run(DkDemo1.class);}}3.4 application.yml
server:port: 8085項目沒有很復雜,相信大家都能很輕松的搭出來,打好之后,本地 run 一下,請求
localhost:8085/book或者
localhost:8085/list是有相應的數據返回的,這一步已經完成本博文的80%了,其實Docker就是一個項目構建工具,就是實現基于項目的快速部署,上線,因此,項目完成后,就已經完成80%了,后面需要加強學習Docker的就是關于快速的問題了。
四、Docker 部署,我是用本地Windows安裝,操作使用的Docker,這里是windows 版docker的使用說明。
4.1 新建dockerfile ,在這個目錄下
文件內容如下
可以看出,這里有個Jar,就是我們之前的項目用IDEA的Maven插件打包,將打包成這個包名
4.2 打包
4.Docker build,進入IDEA的終端命令行下,執行
docker build -t springbootdocker1 dockerDemo1注意,這個命令包含,兩個文件名,一個是Jar包名,一個是項目名,執行成功可以看到,其實Docker build 是按之前我們定義的dockerfile,四條命令,批次執行的
4.1 docker images,可看到鏡像已生成
4.2 docker run ,后臺運行 -itd
docker run -itd -p 8085:8085 springbootdocker1本地訪問
localhost:8085/book或者
localhost:8085/list可看到有數據返回,容器正在成功運行
4.3 docker push,可推到Docker Hub的遠程庫
因為有些操作,和上一篇類似,這里我就省略了。。。
4.3 docker push,可推到Docker Hub的遠程庫
4.4 遠程測試,我用自己的阿里Linux服務器,只裝了 docker,甚至連JDK都沒有裝
但我試著 pull 一下,這個項目
docker pull tonels/springbootdocker1然后運行,
docker run -p 8085:8085 tonels/springbootdocker1瀏覽器,輸入http://111.231.71.139:8085/list,可看到項目已部署,這個Ip是我阿里云服務器的地址,可以看到Dokcer是真的運行在自己的容器里的,一點都不依賴外部Linux的環境,唯一依賴的就是Docker是安裝在Linux上的。。
[ { "id": "1", "name": "霍亂", "author": "馬爾克斯", "price": "12" }, { "id": "2", "name": "百年孤獨", "author": "馬爾克斯", "price": "12" }, { "id": "3", "name": "少年閏土", "author": "魯迅", "price": "12" }, { "id": "4", "name": "三味書屋", "author": "魯迅", "price": "12" } ]上一篇,這里有更詳細的操作
下一篇,補充一下,關于進入Docker容器,查看我們運行具體的鏡像,容器信息
ggggggrtr
總結
以上是生活随笔為你收集整理的IDEA Springboot docker 构建项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用libjpeg-turboYUV转J
- 下一篇: Spring——DI