docker镜像生成并部署(手动)

62 阅读1分钟

1.新建一个springboot项目

1.pom配置文件


<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.5.RELEASE</version>
</parent>

<dependencies>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>

    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-all</artifactId>
        <version>5.5.7</version>
    </dependency>

</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

2.application.yml

server:
  port: 8887

3.主要代码

@RestController
@RequestMapping("/demo")
@Slf4j
public class HelloController {

    @GetMapping("/sayHi")
    public ResponseEntity<String> sayHi(@RequestParam(value = "name")String name){
        return ResponseEntity.ok("Hi:"+name);
    }

    @PostMapping("/hello")
    public HttpResult<String> hello(@RequestBody Map<String,Object> map){
        Object name = map.get("name");
        if(Objects.isNull(name)){
            return HttpResult.failed("name不存在");
        }
        log.info("get json param: name: {}", name);
        return HttpResult.succeed("www");
    }
}

2.生成jar包,并上传到服务器上

image.png

3.编写Dockerfile

FROM java:8
WORKDIR /opt/deployments
MAINTAINER author <www.zy@qq.com>
COPY  springbootDemo.jar /opt/deployments/app.jar
EXPOSE 8887
CMD ["java","-jar","/opt/deployments/app.jar"]

说明: 1.java8作为基础运行环境 2.定义工作目录为/opt/deploymets 3.定义维护作者 4.把当前jar拷贝到工作目录中,供后续启动 5.暴露端口8887 6.执行启动命令 jave -jar /opt/deployments/app.jar

4.生成镜像

docker build -t zy/app .

注意:后面的 . 不能省略

image.png

5.运行镜像即可

docker run -p 8887:8887 zy/app:latest

image.png

参考

blog.csdn.net/dou3516/art…

www.cppcns.com/ruanjian/ja…

blog.csdn.net/cristianoxm…

www.cnblogs.com/yjh1995/p/1…

www.jb51.net/article/245…