转 使用Docker部署 spring-boot maven应用
2024-10-18 18:17:45
转自:https://blog.csdn.net/u011699931/article/details/70226504/
使用Docker部署 spring-boot maven应用
部署过程分为以下几个步骤:
- 创建一个简单的spring-boot应用
- 打包运行应用
- 容器化应用
- 在pom文件中添加docker支持
- 创建docker镜像
- 运行docker容器
- 查看正在运行的容器
- 启动/关闭/重启/删除docker容器
1. 创建一个简单的spring-boot应用
在IntelliJ IDEA中File->New->Project:
然后点Next->Finish.
2. 打包运行应用
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,如果出现: Hello Spring-boot
第二步完成.
3. 容器化应用
在项目目录创建Dockerfile文件: src/main/docker/Dockerfile(没有后缀),内容如下:
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. 创建docker镜像
cmd进入到当前目录:
cd Z:/Desktop/springboot-demo
打包,创建镜像:
mvn package -Dmaven.test.skip=true docker:build
注意: 请确保maven已添加到path中;并且已安装docker,如果没有安装,请访问: https://www.docker.com/community-edition#/download 下载合适的版本.
6. 运行docker容器
##最好添加--name参数
docker run --name=springboot-docker-demo -p 8080:8080 -t ramer/demo
在浏览器访问: http://localhost:8080/hello
7. 查看正在运行的容器
cmd: docker ps
8. 启动/关闭/重启/删除docker容器
cmd: docker start/stop/restart/rm CONTAINER_ID/NAME
其中:
CONTAINER_ID: 是容器id,执行 docker ps
可查看
NAME: 是容器的名称,也就是docker run –name后面的名字
最新文章
- TypeScript为Zepto编写LazyLoad插件
- javascript 时间倒计时
- onenote网页版如何打开链接弄到客户端
- Iwpriv工作流程及常用命令使用
- Computer Science Theory for the Information Age-2: 高维空间中的正方体和Chernoff Bounds
- Hibernate学习笔记--使用ThreadLocal
- ps查看内存占用排序
- 安装了VS2010 sp1 后再安装ASP.NET MVC 3.0的问题(Final Result: Installation failed with error code: (0x80070643), ";安装时发生严重错误 "; (Ela)
- struts2获得提交是get还是post方法提交
- UML 中extend和include的区别
- [AMPPZ2014]Jaskinia
- Sphinx实时索引
- python 小练习 8
- linux之Ubuntu下Django+uWSGI+nginx部署
- Java 面向对象之static,final,匿名对象,内部类,包,修饰符
- 【BZOJ1048】分割矩阵(记忆化搜索,动态规划)
- TA-Lib函数对照
- ReactNative常用组件库 victory-native 图表
- PHP DES加密解密
- 深度学习方法(五):卷积神经网络CNN经典模型整理Lenet,Alexnet,Googlenet,VGG,Deep Residual Learning
热门文章
- Python学习 :网络通信要素
- libcurl编译及使用
- 05ICMP协议与ARP协议(IP协议中重要协议)
- 20155217 2016-2017-2 《Java程序设计》第6周学习总结
- 20155229 2016-2017-2《Java程序设计》课程总结
- 2017-2018-1 20155308&;20155321&;20155330《信息安全技术》实验三——数字证书应用1
- 20155332 mybash的实现
- Lite OS学习之事件EVENT
- java程序运行中如果出现异常未被处理,将会被抛到java虚拟机进行处理,程序中断运行后被挂起,在页面输出错误信息(不会输出到console)
- [css 实践篇]CSS中的尺寸单位