一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - IDEA集成docker部署springboot項目的全過程

IDEA集成docker部署springboot項目的全過程

2021-11-18 15:50-beginner 服務器知識

這篇文章主要介紹了IDEA集成docker部署springboot項目,本文通過圖文實例相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1.IDEA下載docker插件

此處不再贅述,和其他插件一樣安裝

2.云服務器docker

說明:本人服務器使用的是centOS 7

2.1 docker的安裝

http://www.ythuaji.com.cn/article/181614.html

2.2 停止docker服務

為了防止restart docker服務出現錯誤,保險起見,最好先停止docker服務,再修改配置文件。

停止docker之前要先停止正在運行的容器,否則后面啟動容器也有可能出錯。

停止運行容器:

docker stop [container_id]

然后停止docker服務

systemctl stop docker

 

2.3 docker配置文件修改

為了使用HTTP方式讓IDEA連上服務器上的docker,需修改docker的配置文件,修改內容如下:

vim /usr/lib/systemd/system/docker.service

修改Execstart 這行內容,將其替換為以下內容,目的是開放2375端口,能進行HTTP遠程連接:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

2.4 刷新配置文件

命令如下:

systemctl daemon-reload

測試配置文件是否生效,在服務器端輸入如下命令,如果出現JSON字符串內容,則文件生效

curl http://127.0.0.1:2375/version

2.5 啟動docker服務

命令如下:

systemctl restart docker

2.6 防火墻增加2375端口

命令如下:

firewall-cmd --zone=public --add-port=2375/tcp --permanent

重啟防火墻:

firewall-cmd --reload

2.7 阿里云增加安全組規則

這里要注意在實例的頁面進入安全組,然后配置規則,開放2375端口

2.8 測試遠程HTTP連接

在本地瀏覽器輸入 http://127.0.0.1:2375/version ,同理, 如果出現JSON字符串,則能進行HTTP連接。

到此, 可以用IDEA進行集成dokcer了。

3. maven項目打包

3.1 打包插件

在pom文件中添加springboot打包插件

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

3.2 資源文件的打包及打包后的位置

除了打包java源文件,還需要將資源文件打包,如xml/yml/properties/html等文件。但要注意html文件打包的位置,要放在META-INF/resources目錄,否則啟動jar包后,訪問不到html頁面。

<resources>
    <resource>
        <directory>src/main/java</directory>
        <!--這里我將mapper文件放在了java目錄下 所以需要聲明編譯位置-->
        <includes>
            <include>**/*.xml</include>
        </includes>
        <filtering>true</filtering>
    </resource>
    <resource>
        <!--聲明yml配置文件編譯位置-->
        <directory>src/main/resources</directory>
    </resource>
    <resource>
        <!--聲明html文件編譯位置 并將編譯后的文件放入指定位置-->
        <directory>src/main/webapp</directory>
        <targetPath>META-INF/resources</targetPath>
    </resource>
</resources>

3.3 docker插件

需要注意兩個地方,一是docker鏡像名字前面需要有一個前綴,其組成是[前綴]:[鏡像名]:[版本號],二是指定鏡像名時不得包含大寫字母。

項目信息中name和version都要用到

<groupId>org.team</groupId>
<artifactId>coolmeeting</artifactId>
<version>1.0-SNAPSHOT</version>
<name>coolmeeting</name>
<description>docker start meetingMS</description>

<properties>
    <java.version>1.8</java.version>
    <docker.image.prefix>team</docker.image.prefix>
</properties>


<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    <!-- tag::plugin[] -->
    <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>1.0.0</version>
        <configuration>
            <dockerHost>http://127.0.0.1:2375</dockerHost>
            <!--鏡像名字 不能含有大寫字母-->
            <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
            <!--dockerfile所在位置-->
            <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
            <resources>
                <resource>
                    <targetPath>/</targetPath>
                    <!--target所在位置-->
                    <directory>${project.build.directory}</directory>
                    <!--將jar包和Dockerfile放在統一目錄-->
                    <include>${project.build.finalName}.jar</include>
                </resource>
            </resources>
        </configuration>
    </plugin>
    <!-- end::plugin[] -->

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
            <skipTests>true</skipTests>
        </configuration>
    </plugin>
</plugins>

Dockerfile文件如下,注意創建該文件時D要大寫 , /meetingMS.jar是別名,方便書寫

FROM java:8
VOLUME /tmp
ADD coolmeeting-1.0-SNAPSHOT.jar /meetingMS.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/meetingMS.jar"]

3.4 clean、install和docker build

先用maven進行clean和install,然后用maven插件docker進行build

IDEA集成docker部署springboot項目的全過程

打包后的文件目錄:

IDEA集成docker部署springboot項目的全過程

啟動容器

IDEA集成docker部署springboot項目的全過程

設置啟動參數

IDEA集成docker部署springboot項目的全過程

 

4.遇到的坑

  • 鏡像名稱問題(不能含大寫字母)
  • springboot配置文件application.yml無法打包
  • 打包后html頁面訪問不到

5.參考

springboot打成jar包無法訪問jsp或者html,404錯誤

關于yml或者properties文件沒有被掃描到

運行Jar包時指定啟動端口

stackover

IDEA整合Docker,快捷部署SpringBoot應用

IDEA集成Docker的快捷部署

到此這篇關于IDEA集成docker部署springboot項目的文章就介紹到這了,更多相關IDEA集成docker部署springboot項目內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/flipped___/article/details/107113143

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女私人影院 | 久久丫线这里只精品 | 国产区香蕉精品系列在线观看不卡 | 97影音 | 欧美日韩精品一区二区三区视频播放 | 娇喘嗯嗯 轻点啊视频福利 九九九九在线精品免费视频 | 国产裸舞在线一区二区 | 男人叼女人的痛爽视频免费 | 国产专区日韩精品欧美色 | 亚洲精品卡1卡二卡3卡四卡 | 亚洲男1069gay男猛男 | 国内精品一区二区三区东京 | 免费看一级毛片 | 特大黑人娇小亚洲女mp4 | 污污免费 | 极品手交handjobtattoo | 褪色的憎恨 | 天天操天天干天天舔 | 亚洲 欧美 制服 校园 动漫 | 国产成人小视频在线观看 | 免费看视频网站 | 99久久国产综合精品网成人影院 | 国产91青青成人a在线 | 日韩精品视频免费 | 日韩国产欧美精品综合二区 | 国产成人久久 | 操双性人| 国产第一综合另类色区奇米 | 五月婷婷丁香色 | 青青草影院在线观看 | 99任你躁精品视频 | 好男人资源在线观看免费的 | 国产99视频精品免费视频免里 | 亚洲国产精品久久久久久 | 极限淫生小说 | 久久99国产精品二区不卡 | 法国女佣系列在线播放 | 欧美日韩亚洲区久久综合 | 欧美日韩国产一区二区三区欧 | 韩国三级日本三级香港三级黄 | 波多野结衣52部合集在线观看 |