使用Docker部署 spring-boot maven應(yīng)用的方法
本文介紹了使用Docker部署 spring-boot maven應(yīng)用,分享給大家,具體如下:
部署過程分為以下幾個步驟:
- 創(chuàng)建一個簡單的spring-boot應(yīng)用
- 打包運行應(yīng)用
- 容器化應(yīng)用
- 在pom文件中添加docker支持
- 創(chuàng)建docker鏡像
- 運行docker容器
- 查看正在運行的容器
- 啟動/關(guān)閉/重啟/刪除docker容器
1. 創(chuàng)建一個簡單的spring-boot應(yīng)用
在IntelliJ IDEA中File->New->Project:
然后點Next->Finish.
2. 打包運行應(yīng)用
pom.xml中添加依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
添加一個控制器:
@Controller public class HelloWorld{ @GetMapping("/hello") public void helloworld(HttpServletResponse response) throws IOException { response.getWriter().write("Hello Spring-boot"); } }
運行項目,訪問: http://localhost:8080/hello,如果出現(xiàn): Hello Spring-boot 第二步完成.
3. 容器化應(yīng)用
在項目目錄創(chuàng)建Dockerfile文件: src/main/docker/Dockerfile(沒有后綴),內(nèi)容如下:
FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD demo-0.0.1-SNAPSHOT.jar app.jar RUN sh -c 'touch /app.jar' ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
其中 demo-0.0.1-SNAPSHOT.jar 是項目打包后 /target/ 里面的文件名
4. 在pom文件中添加docker支持
<properties> <docker.image.prefix>ramer</docker.image.prefix> </properties> <build> <plugins> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.11</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> </plugins> </build>
5. 創(chuàng)建docker鏡像
cmd進(jìn)入到當(dāng)前目錄:
cd Z:/Desktop/springboot-demo
打包,創(chuàng)建鏡像:
mvn package -Dmaven.test.skip=true docker:build
注意: 請確保maven已添加到path中;并且已安裝docker,如果沒有安裝,請訪問: https://www.docker.com/community-edition#/download 下載合適的版本.
6. 運行docker容器
##最好添加--name參數(shù) docker run --name=springboot-docker-demo -p 8080:8080 -t ramer/demo
在瀏覽器訪問: http://localhost:8080/hello
7. 查看正在運行的容器
cmd: docker ps
8. 啟動/關(guān)閉/重啟/刪除docker容器
cmd: docker start/stop/restart/rm CONTAINER_ID/NAME
其中:
CONTAINER_ID: 是容器id,執(zhí)行 docker ps 可查看
NAME: 是容器的名稱,也就是docker run –name后面的名字
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 使用Docker部署Spring Boot的應(yīng)用示例
- Docker部署SpringBoot應(yīng)用的實現(xiàn)步驟
- 詳解在Docker容器中運行Spring Boot應(yīng)用
- Spring Boot應(yīng)用發(fā)布到Docker的實現(xiàn)
- Docker容器化spring boot應(yīng)用詳解
- 詳解如何將Spring Boot應(yīng)用跑在Docker容器中
- 將spring boot應(yīng)用打入docker中運行的實現(xiàn)方法
- Spring Boot應(yīng)用Docker化的步驟詳解
- Docker化Spring Boot應(yīng)用的實踐
相關(guān)文章
Docker容器化應(yīng)用與結(jié)構(gòu)
本文詳細(xì)講解了Docker的容器化應(yīng)用與結(jié)構(gòu),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04docker實踐之docker-compose部署mysql方式
這篇文章主要介紹了docker實踐之docker-compose部署mysql方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08一次centos Docker網(wǎng)橋模式無法訪問宿主機(jī)Redis服務(wù)的故障排除經(jīng)歷
這篇文章主要給大家介紹了關(guān)于一次centos Docker網(wǎng)橋模式無法訪問宿主機(jī)Redis服務(wù)的故障排除經(jīng)歷,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Docker具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10docker-compose java.net.UnknownHostException問題
這篇文章主要介紹了docker-compose java.net.UnknownHostException問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05docker-compose部署nacos 2.2.3的詳細(xì)過程
這篇文章主要介紹了docker-compose部署nacos 2.2.3的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-11-11docker swam集群如何實現(xiàn)負(fù)載均衡
這篇文章主要介紹了docker swam集群如何實現(xiàn)負(fù)載均衡問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02