IDEA集成docker部署springboot項(xiàng)目的全過(guò)程
1.IDEA下載docker插件
此處不再贅述,和其他插件一樣安裝
2.云服務(wù)器docker
說(shuō)明:本人服務(wù)器使用的是centOS 7
2.1 docker的安裝
http://www.dbjr.com.cn/article/213611.htm
2.2 停止docker服務(wù)
為了防止restart docker服務(wù)出現(xiàn)錯(cuò)誤,保險(xiǎn)起見(jiàn),最好先停止docker服務(wù),再修改配置文件。
停止docker之前要先停止正在運(yùn)行的容器,否則后面啟動(dòng)容器也有可能出錯(cuò)。
停止運(yùn)行容器:
docker stop [container_id]
然后停止docker服務(wù)
systemctl stop docker
2.3 docker配置文件修改
為了使用HTTP方式讓IDEA連上服務(wù)器上的docker,需修改docker的配置文件,修改內(nèi)容如下:
vim /usr/lib/systemd/system/docker.service
修改Execstart 這行內(nèi)容,將其替換為以下內(nèi)容,目的是開(kāi)放2375端口,能進(jìn)行HTTP遠(yuǎn)程連接:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
2.4 刷新配置文件
命令如下:
systemctl daemon-reload
測(cè)試配置文件是否生效,在服務(wù)器端輸入如下命令,如果出現(xiàn)JSON字符串內(nèi)容,則文件生效
2.5 啟動(dòng)docker服務(wù)
命令如下:
systemctl restart docker
2.6 防火墻增加2375端口
命令如下:
firewall-cmd --zone=public --add-port=2375/tcp --permanent
重啟防火墻:
firewall-cmd --reload
2.7 阿里云增加安全組規(guī)則
這里要注意在實(shí)例的頁(yè)面進(jìn)入安全組,然后配置規(guī)則,開(kāi)放2375端口
2.8 測(cè)試遠(yuǎn)程HTTP連接
在本地瀏覽器輸入 http://127.0.0.1:2375/version
,同理, 如果出現(xiàn)JSON字符串,則能進(jìn)行HTTP連接。
到此, 可以用IDEA進(jìn)行集成dokcer了。
3. maven項(xiàng)目打包
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目錄,否則啟動(dòng)jar包后,訪問(wèn)不到html頁(yè)面。
<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插件
需要注意兩個(gè)地方,一是docker鏡像名字前面需要有一個(gè)前綴,其組成是[前綴]:[鏡像名]:[版本號(hào)],二是指定鏡像名時(shí)不得包含大寫(xiě)字母。
項(xiàng)目信息中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> <!--鏡像名字 不能含有大寫(xiě)字母--> <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放在統(tǒng)一目錄--> <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文件如下,注意創(chuàng)建該文件時(shí)D要大寫(xiě) , /meetingMS.jar是別名,方便書(shū)寫(xiě)
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進(jìn)行clean和install,然后用maven插件docker進(jìn)行build
打包后的文件目錄:
啟動(dòng)容器
設(shè)置啟動(dòng)參數(shù)
4.遇到的坑
- 鏡像名稱問(wèn)題(不能含大寫(xiě)字母)
- springboot配置文件application.yml無(wú)法打包
- 打包后html頁(yè)面訪問(wèn)不到
5.參考
springboot打成jar包無(wú)法訪問(wèn)jsp或者h(yuǎn)tml,404錯(cuò)誤
關(guān)于yml或者properties文件沒(méi)有被掃描到
IDEA整合Docker,快捷部署SpringBoot應(yīng)用
到此這篇關(guān)于IDEA集成docker部署springboot項(xiàng)目的文章就介紹到這了,更多相關(guān)IDEA集成docker部署springboot項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Windows Docker 部署 SolrCloud的方法步驟
本文主要介紹了Windows Docker 部署 SolrCloud的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-10-10Docker tomcat的設(shè)置內(nèi)存大小配置方式
這篇文章主要介紹了Docker tomcat的設(shè)置內(nèi)存大小配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03docker容器直接退出如何進(jìn)入容器調(diào)試模式
這篇文章主要介紹了docker容器直接退出,如何進(jìn)入容器調(diào)試,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09使用Docker部署 spring-boot maven應(yīng)用的方法
本篇文章主要介紹了使用Docker部署 spring-boot maven應(yīng)用的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08