1. 程式人生 > 其它 >Docker-IDEA整合Docker

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之後,給別人交付的一個映象即可執行!!!