Docker-IDEA整合Docker
阿新 • • 發佈:2021-10-28
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之後,給別人交付的一個映象即可執行!!!