使用Docker部署 spring-boot maven应用
来源:互联网 发布:linux系统管理员薪水 编辑:程序博客网 时间:2024/05/18 02:46
使用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>
添加一个控制器:
@Controllerpublic 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:slimVOLUME /tmpADD demo-0.0.1-SNAPSHOT.jar app.jarRUN 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后面的名字
6 0
- 使用Docker部署 spring-boot maven应用
- 使用Docker部署 spring-boot maven应用
- 使用Docker部署Spring Boot 应用 Dockerfile方式
- 使用Docker打包Java/Spring Boot应用
- docker部署Spring boot项目
- Spring Boot与Docker部署
- Spring Boot与Docker部署
- spring boot 使用docker在阿里云容器服务部署
- 部署Spring Boot应用
- 部署spring boot应用
- 部署Spring Boot应用
- 部署Spring Boot应用
- 部署Spring Boot应用
- Docker 中部署 Spring boot 项目
- Spring boot-应用打包部署
- Docker实践 - 使用maven插件自动部署web应用至Docker容器的tomcat
- Docker实践-使用maven插件自动部署web应用至Docker容器的tomcat
- 在Eclipse下使用Maven开发Spring Boot应用
- phpstudy安装imagick扩展库怎么装
- [SMOJ1785]修复道路
- html标签属性
- html和css
- typedef 定义函数指针
- 使用Docker部署 spring-boot maven应用
- MQTT 要点: Part 1 – MQTT介绍
- 僵尸进程和孤儿进程
- 算法的时间复杂度和空间负责度、最坏情况和平均情况
- 浅谈Java SE、Java EE、Java ME三者的区别
- 实验一:Guass列选主元消去法之C语言代码
- 2017.4.13腾讯实习,软件开发-运营开发岗,2面手撕组合排列C++代码
- eclipse版本-从3.1版本至4.6版本
- 请描述osi七层模型,并简要概括各层功能