使用Docker部署 spring-boot maven应用的方法

作者:Ramer-F 时间:2021-05-07 04:38:57 

本文介绍了使用Docker部署 spring-boot maven应用,分享给大家,具体如下:

部署过程分为以下几个步骤:

  1. 创建一个简单的spring-boot应用

  2. 打包运行应用

  3. 容器化应用

  4. 在pom文件中添加docker支持

  5. 创建docker镜像

  6. 运行docker容器

  7. 查看正在运行的容器

  8. 启动/关闭/重启/删除docker容器

1. 创建一个简单的spring-boot应用

在IntelliJ IDEA中File->New->Project:

使用Docker部署 spring-boot maven应用的方法

使用Docker部署 spring-boot maven应用的方法

然后点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后面的名字

来源:http://blog.csdn.net/u011699931/article/details/70226504

标签:Docker,spring-boot,maven
0
投稿

猜你喜欢

  • 搜索引擎究竟有多聪明?

    2008-05-12 22:12:00
  • 用LINUX架设FTP服务器

    2009-04-14 15:22:00
  • SEO优化手册之三 进行网站的规范化设计

    2009-02-27 18:48:00
  • 柏袍:中国反软件盗版事业任重道远

    2009-11-23 15:08:00
  • linux共享上网设置实例详解

    2023-10-09 23:01:07
  • 漫谈搜索引擎营销 如何运用好搜索引擎平台

    2009-01-24 20:58:00
  • 谁杀死了北电(三):被丑闻污染的电信公司

    2009-11-13 09:51:00
  • Ubuntu系统下网络配置文件解析与说明

    2023-07-14 16:12:11
  • nginx对http请求处理的各个阶段详析

    2021-06-25 22:58:12
  • Docker基于现有镜像构建新镜像的实现方法

    2022-10-26 16:36:26
  • 抛弃讨厌的SEO 让网站取得成功的10步骤

    2009-01-07 16:48:00
  • 挑选VPS的几个考虑

    2008-12-25 13:35:00
  • GoDaddy:SSL状态是什么意思

    2010-04-07 12:55:00
  • 搜索引擎优化的中英文区别

    2008-12-31 12:58:00
  • 在Firefox下自定义个性化Autoscroll图标

    2008-01-04 11:44:00
  • 从饭否网看网站取名的奥妙与前景

    2007-08-05 13:57:00
  • 加强监管第三方支付等着领“身份证”

    2009-10-27 09:11:00
  • DNS Cache 的一些小技巧汇总

    2007-11-19 13:42:00
  • 详解路由器设置实现DDoS防御

    2009-12-24 13:48:00
  • 谷歌网站管理员详解 如何去建立多语种网站

    2009-01-23 15:00:00
  • asp之家 网站运营 m.aspxhome.com