社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
<?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>
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;
}
}
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;
}
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);
}
}
server:
port: 8085
localhost:8085/book
或者
localhost:8085/list
是有相应的数据返回的,这一步已经完成本博文的80%了,其实Docker就是一个项目构建工具,就是实现基于项目的快速部署,上线,因此,项目完成后,就已经完成80%了,后面需要加强学习Docker的就是关于快速的问题了。
文件内容如下
FROM openjdk:8
ADD target/docker-spring-boot.jar docker-spring-boot.jar
ENTRYPOINT ["java","-jar","docker-spring-boot.jar"]
EXPOSE 8085
可以看出,这里有个Jar,就是我们之前的项目用IDEA的Maven插件打包,将打包成这个包名
docker build -t springbootdocker1 dockerDemo1
docker run -itd -p 8085:8085 springbootdocker1
本地访问
localhost:8085/book
或者
localhost:8085/list
可看到有数据返回,容器正在成功运行
因为有些操作,和上一篇类似,这里我就省略了。。。
docker pull tonels/springbootdocker1
docker run -p 8085:8085 tonels/springbootdocker1
[
{
"id": "1",
"name": "霍乱",
"author": "马尔克斯",
"price": "12"
},
{
"id": "2",
"name": "百年孤独",
"author": "马尔克斯",
"price": "12"
},
{
"id": "3",
"name": "少年闰土",
"author": "鲁迅",
"price": "12"
},
{
"id": "4",
"name": "三味书屋",
"author": "鲁迅",
"price": "12"
}
]
ggggggrtr
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!