ITPub博客

首页 > 数据库 > 数据库开发技术 > springboot集成docker快速入门demo

springboot集成docker快速入门demo

原创 数据库开发技术 作者:hblog 时间:2024-02-22 13:32:23 0 删除 编辑

一、docker介绍

Docker是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个可移植的容器中。这个容器可以在任何流行的 Linux或 Windows操作系统上运行,并且支持虚拟化。容器是完全基于沙箱机制的,这意味着它们之间不会有任何接口,从而确保了隔离性和安全性。

二、代码工程

pom.xml添加docker打包插件

<?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>springboot-demo</artifactId>        <groupId>com.et</groupId>        <version>1.0-SNAPSHOT</version>    </parent>    <modelVersion>4.0.0</modelVersion>
<artifactId>docker</artifactId>
<properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> <dependencies>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> </dependency>

</dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- Docker Maven Plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.2.0</version> <!-- 使用最新版本 --> <configuration> <imageName>springboot-demo/springboot-with-docker</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> <!-- End of Docker Maven Plugin --> </plugins> </build></project>

配置Dockerfile

FROM openjdk:8-jdk-alpineVOLUME /tmpADD docker-1.0-SNAPSHOT.jar app.jarEXPOSE 8080ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

启动类

package com.et.docker;
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplicationpublic class DemoApplication {
public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }}

配置文件

server:  port: 8088

controller

package com.et.docker.controller;
import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;
import java.util.HashMap;import java.util.Map;
@Controllerpublic class HelloWorldController { @RequestMapping("/hello") @ResponseBody public Map<String, Object> showHelloWorld(){ Map<String, Object> map = new HashMap<>(); map.put("msg", "HelloWorld"); return map; }}

构建镜像

mvn clean package docker:build

查看镜像

docker images

三、测试

运行镜像服务

docker run -p 8088:8088 springboot-demo/springboot-with-docker

访问地址http://127.0.0.1:8088/hello,返回

{"msg":"HelloWorld"}

四、引用

  •  https://www.cnblogs.com/JanYork/p/17041411.html

  •  http://www.liuhaihua.cn/archives/710227.html 



原文作者:HBLOG;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2022-05-04

  • 博文量
    210
  • 访问量
    111737