您好,登錄后才能下訂單哦!
這篇文章主要介紹了IDEA如何使用Docker插件,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
之前docker的學習,包括鏡像拉取,容器創(chuàng)建等操作都需要自己手動敲命令來實現(xiàn),但是如果在idea中使用Docker插件,就可以不用敲命令也可以實現(xiàn)對docker的操作,不得不說idea這個工具是真的強?。?!本文會持續(xù)更新,不斷地擴充
本文僅為記錄學習軌跡,如有侵權,聯(lián)系刪除
注意:一般是用的服務器,作為測試這里就采用虛擬機+Ubuntu系統(tǒng)的方式
如果使用idea編輯器的話,可以使用docker插件來遠程使用服務器(虛擬機)上的docker,簡單方便快捷的使用docker,更重要的是使用插件可以實現(xiàn)項目的一鍵部署,當然這還需要一些簡單的配置。
默認的dokcer是不支持遠程訪問的,需要加點配置,開啟Docker的遠程訪問
#修改Docker服務文件,需要先切換到root用戶 vim /lib/systemd/system/docker.service #注釋掉"ExecStart"這一行,并添加下面這一行信息 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
重新加載配置文件
#重新加載配置文件 systemctl daemon-reload #重啟服務 systemctl restart docker.service #查看配置的端口號(2375)是否開啟(非必要) netstat -nlpt #如果找不到netstat命令,可以先安裝一下這個工具,具體百度
注意:如果上述過程失敗的話,有下面這種方式,
首先確保端口號已經開放,這個很重要?。?!,默認端口號2375
切換root用戶,命令:sudo su
編輯docker相關配置:
命令:vim /lib/systemd/system/docker.service
,進入編輯頁面
找到ExecStart對應的那一行,添加代碼:-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
(按下按鍵"i",進入編輯模式,然后就可以添加數(shù)據了)
保存退出,先按"esc"按鍵,然后輸入命令::wq
,回車即保存。
重啟docker服務
守護進程重啟:sudo systemctl daemon-reload
重啟docker服務:sudo systemctl restart docker
查看端口號2375是否開放,出現(xiàn)如圖則成功
使用idea的docker插件連接docker,idea默認已經下載過docker插件了,如果沒有的話,需要在idea下載docker插件
點擊idea的設置選項(file --> setting -> docker),新建連接
連接成功之后就可以使用服務器(虛擬機)上的docker了
idea可以通過可視化的方式拉取鏡像,不用自己去敲命令
有時候會出現(xiàn)拉取的時間超時的情況,可以配置一下國內的鏡像獲取阿里云的加速器
創(chuàng)建并且運行docker容器
創(chuàng)建成功之后可以看到新創(chuàng)建的容器,也可以在服務器(虛擬機)上用docker命令查看
重啟容器、停止容器和刪除容器等操作
傳統(tǒng)的docker部署springboot項目,需要自己手動配置Dockerfile文件,還需要將生成的jar包跟Dockerfile文件一起上傳到服務器,整個流程下來很麻煩,如果用idea的docker插件就可以實現(xiàn)一鍵部署springboot項目,簡單方便。
首先需要引入docker的構建工具
<build> <!-- 引用我們的項目名字 --> <finalName>${project.artifactId}</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!--使用docker-maven-plugin插件--> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <!--將插件綁定在某個phase執(zhí)行--> <executions> <execution> <id>build-image</id> <!--用戶只需執(zhí)行mvn package ,就會自動執(zhí)行mvn docker:build--> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </executions> <configuration> <!--指定生成的鏡像名,這里是我們的作者名+項目名--> <imageName>cainiao/${project.artifactId}</imageName> <!--指定標簽 這里指定的是鏡像的版本,我們默認版本是latest--> <imageTags> <imageTag>latest</imageTag> </imageTags> <!--指定基礎鏡像jdk1.8--> <baseImage>java</baseImage> <!-- 鏡像制作人本人信息 <maintainer>bruceliu@email.com</maintainer> --> <!--切換到ROOT目錄--> <workdir>/ROOT</workdir> <!--查看我們的java版本--> <cmd>["java", "-version"]</cmd> <!--${project.build.finalName}.jar是打包后生成的jar包的名字--> <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint> <!--指定遠程 docker api地址--> <dockerHost>http://192.168.29.133:2375</dockerHost> <!-- 這里是復制 jar 包到 docker 容器指定目錄配置 --> <resources> <resource> <targetPath>/</targetPath> <!--jar 包所在的路徑 此處配置的 即對應 target 目錄--> <directory>${project.build.directory}</directory> <!--用于指定需要復制的文件 需要包含的 jar包 ,這里對應的是 Dockerfile中添加的文件名 --> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> </plugins> </build>
ok,接下來只要先點擊clean清除之前的所有打包的文件,然后再點擊package打包文件即可完成鏡像的構建,真正的一鍵部署
到此鏡像構建成功,接下來只要創(chuàng)建容器跑起來即可
通過ip訪問
至此,一鍵構建部署springboot項目成功!
“java.lang.NoClassDefFoundError:javax / activation / DataSource”(tomcat 9.0.12)“
網上查了一下,發(fā)現(xiàn)這樣的一段話,具體看這里
剛好我想起來這個項目之前開發(fā)用的是jdk8,然后我現(xiàn)在用的jdk11,所以在構建的時候會出現(xiàn)這個問題,我感覺應該是這個問題導致,雖然構建成功了,運行訪問都沒有問題,建議開發(fā)跟構建docker的時候jdk版本保持一致。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“IDEA如何使用Docker插件”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。