Docker-IDEA整合Docker

Posted guardwhy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker-IDEA整合Docker相关的知识,希望对你有一定的参考价值。

1.1 创建项目

1、构建springboot项目

2、编写一个helloController

package cn.guardwhy.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController 
    @RequestMapping("/hello")
    public String hello()
        return "Hello Spring Boot!!!";
    

3、启动测试项目,访问成功!!

1.2 将项目打包成jar

本地访问项目jar

 java -jar .\\springboot_demo01-0.0.1-SNAPSHOT.jar

1.3 打包镜像

1、在项目下编写 Dockerfile 文件,将打包好的jar包拷贝到Dockerfile同级目录

Dockerfile

FROM java:8
# 1、服务器只有dockerfile和jar在同级目录
COPY *.jar /app.jar
CMD ["--server.port=8080"]

# 2、指定容器内要暴露的端口
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]

2、将Dockerfile 和 项目的 jar 包上传到linux服务器上

1.4 构建镜像

## 0、查看具体文件
[root@guardwhy home]# cd docker-java/
[root@guardwhy docker-java]# ll
total 16664
-rw-r--r-- 1 root root      199 Jun 13 05:52 Dockerfile
-rw-r--r-- 1 root root 17057877 Jun 13 05:52 springboot_demo01-0.0.1-SNAPSHOT.jar

## 1、查看运行的容器
[root@guardwhy docker-java]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@guardwhy docker-java]# ls
Dockerfile  springboot_demo01-0.0.1-SNAPSHOT.jar

## 2、构建镜像
[root@guardwhy docker-java]# docker build -t guardwhy .
Sending build context to Docker daemon  17.06MB
Successfully built 5d986122e10a
Successfully tagged guardwhy:latest
## 3、查看所有的镜像
[root@guardwhy docker-java]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
guardwhy            latest              5d986122e10a        33 minutes ago      660MB
java                8                   d23bdf5b1b1b        4 years ago         643MB

1.5 发布运行

## 1、构建镜像
[root@guardwhy docker-java]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
guardwhy            latest              5d986122e10a        33 minutes ago      660MB
java                8                   d23bdf5b1b1b        4 years ago         643MB

## 2、构建容器
[root@guardwhy docker-java]# docker run -d -P --name springboot-web guardwhy
c7fe159cfe3872aecf3b2eae5dd15b3840e1c2e99837e58e2aadc34a3dcf9fd3

## 3、查看运行的容器
[root@guardwhy docker-java]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES
c7fe159cfe38        guardwhy            "java -jar /app.jar …"   5 seconds ago       Up 5 seconds        0.0.0.0:32769->8080/tcp   springboot-web

## 4、测试项目
[root@guardwhy docker-java]# curl localhost:32769
"timestamp":"2021-06-12T23:21:13.290+00:00","status":404,"error":"Not Found","message":"","path":"/"

## 5、测试成功!!!
[root@guardwhy ~]# curl localhost:32769/hello
Hello Spring Boot!!![root@guardwhy ~]# 

小结: 以后使用docker之后,给别人交付的一个镜像即可运行!!!

以上是关于Docker-IDEA整合Docker的主要内容,如果未能解决你的问题,请参考以下文章

「Docker篇」IDEA整合Docker

Springboot整合MongoDB的Docker开发,其它应用也类似

docker springboot mysql整合

docker springboot mysql整合

springboot 学习之路 28(与docker的整合)

Spring Boot教程第24篇:整合docker