1、idea配置docker 部署
1.1、服務器端:服務器配置docker遠程連接
vi /lib/systemd/system/docker.service # ① 修改宿主機配置文件 #在 ExecStart 開頭的這一行末尾添加 -H tcp://0.0.0.0:2375 systemctl daemon-reload && systemctl restart docker # ② 重啟docker firewall-cmd --zone=public --add-port=2375/tcp --permanent # ③ 防火牆開放端口2375
http://ip地址:2375/version
1.2、本地下載插件docker,然后配置
連接成功后我們便可查看docker下的容器和鏡像
然后添加dockerfile配置【其實就是打包鏡像:docker build -t app:1.1 .】以及啟動docker
構建成功后,既部署載遠程了。當然上一步也可以選擇本地。
2、使用docker調試
為了保證測試環境與正式環境一致,我們大多使用docker,因為docker可以封裝除了內核硬件之外的運行環境,docker將軟件包以層的概念封裝起來,保證在不同機器都會有一致的運行環境.
2.1、創建打包鏡像配置
【其實就是打包鏡像docker build -t app:1.1 .】這里記得勾選 Run built images 這樣能夠進入調試
添加dockerfile運行時配置,構建鏡像配置,參看上面的配置
注意:若果都是本機記得5005 不要綁定映射,端口占用,非要寫個 就隨便綁定一個即可
2.2、新建一個Remote類型的Debug config
具體配置如下圖
如果使用maven 多moudle的話在use module classpath選擇要進行調試的moudle
在before launch:添加一個before選項,類型是launch docker before debug類型,現在你在第一步新增的DockerFile Run Config
配置docker啟動
方式二、在custom command選項配置啟動項目實例的java 命令,將圖中圈起來的部分作為java命令的參數
java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
/home/admin/app.jar
方式一、dockerfile中配置【推薦】
ENTRYPOINT ["sh","-c","java -Duser.timezone=GMT+08 -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 /home/admin/app.jar"]
記得加入代理:agentlib:jdwp
注意dockerfile中配置
端口漏出
###暴露個jar運行的端口8081運行端口 5005調試端口 EXPOSE 8081 5005
打斷點調試即可
2.3、配置remote 不每次都構建鏡像
因為上述before launch,添加了dockerfile配置,故每次都要構建進行
有修改時候使用上述,沒有修改新建一個新的remote調試,不添加before launch即可