主頁 > 知識(shí)庫 > IDEA使用Docker插件(菜鳥教程)

IDEA使用Docker插件(菜鳥教程)

熱門標(biāo)簽:做外呼系統(tǒng)的公司違法嗎 烏海智能電話機(jī)器人 撫順移動(dòng)400電話申請(qǐng) 寧夏房產(chǎn)智能外呼系統(tǒng)要多少錢 在百度地圖標(biāo)注車輛 貴陽教育行業(yè)電話外呼系統(tǒng) 威海人工外呼系統(tǒng)供應(yīng)商 藍(lán)點(diǎn)外呼系統(tǒng) 400電話申請(qǐng)方案

說明

之前docker的學(xué)習(xí),包括鏡像拉取,容器創(chuàng)建等操作都需要自己手動(dòng)敲命令來實(shí)現(xiàn),但是如果在idea中使用Docker插件,就可以不用敲命令也可以實(shí)現(xiàn)對(duì)docker的操作,不得不說idea這個(gè)工具是真的強(qiáng)?。?!本文會(huì)持續(xù)更新,不斷地?cái)U(kuò)充

本文僅為記錄學(xué)習(xí)軌跡,如有侵權(quán),聯(lián)系刪除

注意:一般是用的服務(wù)器,作為測(cè)試這里就采用虛擬機(jī)+Ubuntu系統(tǒng)的方式

一、開啟Docker遠(yuǎn)程訪問

如果使用idea編輯器的話,可以使用docker插件來遠(yuǎn)程使用服務(wù)器(虛擬機(jī))上的docker,簡(jiǎn)單方便快捷的使用docker,更重要的是使用插件可以實(shí)現(xiàn)項(xiàng)目的一鍵部署,當(dāng)然這還需要一些簡(jiǎn)單的配置。
默認(rèn)的dokcer是不支持遠(yuǎn)程訪問的,需要加點(diǎn)配置,開啟Docker的遠(yuǎn)程訪問

#修改Docker服務(wù)文件,需要先切換到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
#重啟服務(wù)
systemctl restart docker.service
#查看配置的端口號(hào)(2375)是否開啟(非必要)
netstat -nlpt  #如果找不到netstat命令,可以先安裝一下這個(gè)工具,具體百度

注意:如果上述過程失敗的話,有下面這種方式,

首先確保端口號(hào)已經(jīng)開放,這個(gè)很重要?。?!,默認(rèn)端口號(hào)2375

切換root用戶,命令:sudo su

編輯docker相關(guān)配置:
命令:vim /lib/systemd/system/docker.service,進(jìn)入編輯頁面


找到ExecStart對(duì)應(yīng)的那一行,添加代碼:-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock (按下按鍵"i",進(jìn)入編輯模式,然后就可以添加數(shù)據(jù)了)


保存退出,先按"esc"按鍵,然后輸入命令::wq,回車即保存。

重啟docker服務(wù)
守護(hù)進(jìn)程重啟:sudo systemctl daemon-reload
重啟docker服務(wù):sudo systemctl restart docker

查看端口號(hào)2375是否開放,出現(xiàn)如圖則成功

二、連接docker

使用idea的docker插件連接docker,idea默認(rèn)已經(jīng)下載過docker插件了,如果沒有的話,需要在idea下載docker插件


點(diǎn)擊idea的設(shè)置選項(xiàng)(file --> setting -> docker),新建連接



連接成功之后就可以使用服務(wù)器(虛擬機(jī))上的docker了

三、鏡像的拉取

idea可以通過可視化的方式拉取鏡像,不用自己去敲命令




有時(shí)候會(huì)出現(xiàn)拉取的時(shí)間超時(shí)的情況,可以配置一下國內(nèi)的鏡像獲取阿里云的加速器

四、容器的創(chuàng)建與運(yùn)行

創(chuàng)建并且運(yùn)行docker容器



創(chuàng)建成功之后可以看到新創(chuàng)建的容器,也可以在服務(wù)器(虛擬機(jī))上用docker命令查看

重啟容器、停止容器和刪除容器等操作

五、docker一鍵部署springboot項(xiàng)目

傳統(tǒng)的docker部署springboot項(xiàng)目,需要自己手動(dòng)配置Dockerfile文件,還需要將生成的jar包跟Dockerfile文件一起上傳到服務(wù)器,整個(gè)流程下來很麻煩,如果用idea的docker插件就可以實(shí)現(xiàn)一鍵部署springboot項(xiàng)目,簡(jiǎn)單方便。

首先需要引入docker的構(gòu)建工具

    <build>
        <!-- 引用我們的項(xiàng)目名字 -->
        <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>
                <!--將插件綁定在某個(gè)phase執(zhí)行-->
                <executions>
                    <execution>
                        <id>build-image</id>
                        <!--用戶只需執(zhí)行mvn package ,就會(huì)自動(dòng)執(zhí)行mvn docker:build-->
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>

                <configuration>
                    <!--指定生成的鏡像名,這里是我們的作者名+項(xiàng)目名-->
                    <imageName>cainiao/${project.artifactId}</imageName>

                    <!--指定標(biāo)簽 這里指定的是鏡像的版本,我們默認(rèn)版本是latest-->
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>

                    <!--指定基礎(chǔ)鏡像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>

                    <!--指定遠(yuǎn)程 docker api地址-->
                    <dockerHost>http://192.168.29.133:2375</dockerHost>

                    <!-- 這里是復(fù)制 jar 包到 docker 容器指定目錄配置 -->
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <!--jar 包所在的路徑  此處配置的 即對(duì)應(yīng) target 目錄-->
                            <directory>${project.build.directory}</directory>
                            <!--用于指定需要復(fù)制的文件 需要包含的 jar包 ,這里對(duì)應(yīng)的是 Dockerfile中添加的文件名 -->
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>

                </configuration>
            </plugin>
        </plugins>
    </build>

ok,接下來只要先點(diǎn)擊clean清除之前的所有打包的文件,然后再點(diǎn)擊package打包文件即可完成鏡像的構(gòu)建,真正的一鍵部署



到此鏡像構(gòu)建成功,接下來只要?jiǎng)?chuàng)建容器跑起來即可



通過ip訪問


至此,一鍵構(gòu)建部署springboot項(xiàng)目成功!

可能的錯(cuò)誤:

“java.lang.NoClassDefFoundError:javax / activation / DataSource”(tomcat 9.0.12)“

網(wǎng)上查了一下,發(fā)現(xiàn)這樣的一段話,具體看這里


剛好我想起來這個(gè)項(xiàng)目之前開發(fā)用的是jdk8,然后我現(xiàn)在用的jdk11,所以在構(gòu)建的時(shí)候會(huì)出現(xiàn)這個(gè)問題,我感覺應(yīng)該是這個(gè)問題導(dǎo)致,雖然構(gòu)建成功了,運(yùn)行訪問都沒有問題,建議開發(fā)跟構(gòu)建docker的時(shí)候jdk版本保持一致。

到此這篇關(guān)于IDEA使用Docker插件(菜鳥教程)的文章就介紹到這了,更多相關(guān)IDEA使用Docker內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:慶陽 朝陽 周口 那曲 蕪湖 銅川 泰州 松原

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《IDEA使用Docker插件(菜鳥教程)》,本文關(guān)鍵詞  IDEA,使用,Docker,插件,菜鳥,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《IDEA使用Docker插件(菜鳥教程)》相關(guān)的同類信息!
  • 本頁收集關(guān)于IDEA使用Docker插件(菜鳥教程)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章