網站首頁 編程語言 正文
1:首先構建一個SpringBoot項目
只需要添加web依賴
2:編寫一個controller用于測試
3:本機啟動觀察是否能夠成功訪問
4:打包
5:找到生成的jar包位置
6:jar包的啟動運行測試
7:編寫Dockerfile文件
8:把我們的jar包和Dockerfile文件上傳服務器
9:利用上傳的文件構建鏡像
[root@iZwz9hv1phm24s3jicy8x1Z idea]# ls
Dockerfile Docker-Package-0.0.1-SNAPSHOT.jar
[root@iZwz9hv1phm24s3jicy8x1Z idea]# docker build -t dongmu-springboot-project .
Sending build context to Docker daemon 17.54MB
Step 1/5 : FROM java:8
8: Pulling from library/java
5040bd298390: Pull complete
fce5728aad85: Pull complete
76610ec20bf5: Pull complete
60170fec2151: Pull complete
e98f73de8f0d: Pull complete
11f7af24ed9c: Pull complete
49e2d6393f32: Pull complete
bb9cdec9c7f3: Pull complete
Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
Status: Downloaded newer image for java:8
---> d23bdf5b1b1b
Step 2/5 : COPY /*.jar /app.jar
---> a16d648390df
Step 3/5 : CMD ["--server.port=8080"]
---> Running in bc45f72484c7
Removing intermediate container bc45f72484c7
---> 713861b331ad
Step 4/5 : EXPOSE 8080
---> Running in 7a28e4939b5e
Removing intermediate container 7a28e4939b5e
---> 08f540832166
Step 5/5 : ENTRYPOINT ["java","-jar","/app.jar"]
---> Running in 6cd669cd522c
Removing intermediate container 6cd669cd522c
---> 1fd9f50df534
Successfully built 1fd9f50df534
Successfully tagged dongmu-springboot-project:latest
10:利用鏡像運行容器
[root@iZwz9hv1phm24s3jicy8x1Z idea]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
dongmu-springboot-project latest 1fd9f50df534 About a minute ago 661MB
redis 5.0.9-alpine3.11 3661c84ee9d0 24 months ago 29.8MB
tomcat 9.0.22 c856951ade0a 2 years ago 624MB
java 8 d23bdf5b1b1b 5 years ago 643MB
[root@iZwz9hv1phm24s3jicy8x1Z idea]# docker run -d -P --name dongmu-springboot-web dongmu-springboot-project
c63282034de4e9dca727c93009e29f421bcd2544557a60b6339fa8056cc1d0d5
11:測試訪問
[root@iZwz9hv1phm24s3jicy8x1Z idea]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c63282034de4 dongmu-springboot-project "java -jar /app.jar …" 34 seconds ago Up 33 seconds 0.0.0.0:49166->8080/tcp, :::49166->8080/tcp dongmu-springboot-web
[root@iZwz9hv1phm24s3jicy8x1Z idea]# curl localhost 49166
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Apache Tomcat/9.0.50</title>
<link href="favicon.ico" type="image/x-icon" />
<link href="tomcat.css" type="text/css" />
</head>
......
訪問成功
上面是內部訪問,下面我們重新啟動利用外網進行訪問
[root@iZwz9hv1phm24s3jicy8x1Z idea]# docker run -d -p 3344:8080 --name dongmu-springboot-web dongmu-springboot-project
35f3b4fe0f9a4b878d6566a9f4334fc98e7841b1fc5eb7869dd0044d4fb44d6d
歐克,外網訪問成功。
原文鏈接:https://blog.csdn.net/qq_45401910/article/details/124204418
相關推薦
- 2022-11-15 Python+?Flask實現Mock?Server詳情_python
- 2022-07-23 python雙向鏈表實例詳解_python
- 2022-07-31 C++超詳細講解引用和指針_C 語言
- 2022-05-01 使用GoogleContainerTools容器化jib構建docker鏡像_docker
- 2022-08-19 Spring Cloud Config配置服務
- 2021-11-06 C語言?如何用堆解決Topk問題_C 語言
- 2022-08-23 python可以美化表格數據輸出結果的兩個工具_python
- 2023-04-10 Pytest斷言的具體使用_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支