使用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
投稿

猜你喜欢

  • windows 2003服务器系统安全权限方案

    2008-07-31 17:37:00
  • 最受中国白领欢迎5大时尚网站

    2007-09-11 19:41:00
  • Nodejs创建TCP服务器 - king0222

    2022-12-16 02:27:27
  • Apache服务器配置全攻略(一)

    2008-01-08 19:40:00
  • 命令行模式修改文件夹的访问及共享权限

    2008-12-08 14:40:00
  • 通过谷歌网站管理员工具改变您的网站设置

    2009-01-07 16:00:00
  • Linux实现自动登录的实例讲解

    2022-03-08 16:27:26
  • 草根站长软文写作技巧教程:让软文更软些吧

    2007-08-14 17:06:00
  • 聊聊Docker中容器的创建与启停问题

    2022-03-17 17:12:21
  • 黑客怎样攻破SQL服务器系统

    2009-09-20 20:21:00
  • 互联网出版许可证:网络游戏准入的第一道门槛

    2009-10-17 09:07:00
  • Google公布网页统计报告 网页加载速度4.9秒

    2010-07-11 21:25:00
  • GoDaddy主机如何使用File Manager的幻灯片

    2010-04-30 12:33:00
  • 用于 WordPress 的7个反垃圾工具

    2008-02-12 10:45:00
  • centos7中crontab定时计划任务5分钟一次命令写法

    2023-11-02 23:21:16
  • 怎么禁用 Ubuntu 服务器中终端欢迎消息中的广告

    2023-08-04 22:26:14
  • 圣诞节英文词汇

    2008-12-23 13:58:00
  • 我通过BBS专项备案的过程

    2007-08-23 08:14:00
  • 网站主要状态页细解以及与搜索引擎的关系

    2008-12-02 09:55:00
  • CentOS虚拟机克隆后无法上网(网卡信息不一致)问题的解决方法

    2021-07-12 01:55:39
  • asp之家 网站运营 m.aspxhome.com