IDEA 配合 Dockerfile 部署 SpringBoot 工程的註意事項
準備 SpringBoot 工程
1.新建 SpringBoot 項目,默認的端口是 8080 ,新建 Controller 和 Mapping
@RestController public class HelloController { @GetMapping("hello") public String hello() { return "hello world!"; } }
註意,需要在 pom 中添加 spring-boot-maven-plugin 插件,否則運行 jar 包時會提示:沒有主清單屬性
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
啟動項目,訪問 http://localhost:8080/hello 測試
2.在項目目錄添加 Dockerfile 文件
FROM openjdk:8-jre # ./target/demo-0.0.1-SNAPSHOT.jar 為編譯後的 jar 包位置 # jar 包的名稱要與自己配置的相同,格式為:項目名稱-版本號.jar COPY ./target/demo-0.0.1-SNAPSHOT.jar app.jar EXPOSE 8080 ENTRYPOINT ["java","-jar"] CMD ["app.jar"]
3.Docker 遠程連接配置
演示使用的 Docker 宿主機是 CentOS 7,修改配置並重啟 Docker 服務
vim /lib/systemd/system/docker.service
將 ExecStar
這行配置修改為下面這行
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
重啟服務
systemctl daemon-reload systemctl restart docker
可以通過訪問 API 進行測試,IP 需要修改為宿主機對應的 IP,端口設置的為 2375,訪問成功會顯示 Docker Engine 的相關版本信息
http://192.168.43.161:2375/version
如果是部署在公網或者生產環境,需要配置安全訪問,可以參考:Docker開啟遠程安全訪問
IDEA 配置
IDEA 安裝 Docker 插件
配置 IDEA Docker 連接
在設置中可以找到 Docker,點擊加號可以添加新的 Docker 連接,輸入名稱、Engine API URL,然後就會提示:Connection successful,即連接成功
點擊 Run/Debug Configurations
輸入名稱、添加 Dockerfile(剛剛添加的那個)、容器名稱、映射端口號
Before launch選擇Maven 並輸入命令:clean package -U -DskipTests
,這個命令在每次編譯 Dockerfile 之前都會運行
點擊運行就會自動打 jar 包,並在宿主機上構建鏡像,運行容器
可以通過 Docker 宿主機進行測試訪問,這裡演示使用的 192.168.43.161
需要替換成自己 Docker 宿主機的 IP
http://192.168.43.161:8080/hello
參考資料
Docker – 遠程連接
IDEA的Docker插件實戰(Dockerfile篇)
到此這篇關於IDEA 配合 Dockerfile 部署 SpringBoot 工程的文章就介紹到這瞭,更多相關IDEA 部署 SpringBoot 工程內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- idea整合docker快速部署springboot應用的詳細過程
- springboot中的dockerfile使用
- Springboot服務Docker化自動部署的實現方法
- idea集合docker實現鏡像打包一鍵部署
- IDEA使用Docker插件(菜鳥教程)