使用Docker部署 spring-boot maven应用的方法
本文介绍了使用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,如果没有安装,请访问: 下载合适的版本.
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后面的名字
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 迅雷极速版局域网共享在哪里?
下一篇: 五个超有效的快速饮食减肥方法
推荐阅读
-
使用Docker compose编排Laravel应用的方法
-
使用docker快速部署Elasticsearch集群的方法
-
使用Docker部署 spring-boot maven应用的方法
-
使用Docker部署MySQL 5.7&8.0主从集群的方法步骤
-
使用Docker-compose离线部署Django应用的方法
-
使用 Docker 部署 Node 应用 - 镜像文件尺寸的优化
-
在Docker中利用Tomcat快速部署web应用的方法示例
-
如何使用Docker部署Go Web应用的实现
-
使用Apache Axis部署 Web服务时的常见问题及其解决方法 WebApache应用服务器Linuxlog4j
-
maven项目远程部署&&使用tomcat配置数据库连接的方法