当前位置: 首页 » 综合知识 » it知识 » 正文

Docker如何部署spring boot maven应用

发布时间:2023-07-24 以下文章来源于网友投稿,内容仅供参考!

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

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

  2. 打包运行应用

  3. 容器化应用

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

  5. 创建docker镜像

  6. 运行docker容器

  7. 查看正在运行的容器

  8. 启动/关闭/重启/删除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");
  }
}

运行项目,访问: 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>.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

在浏览器访问: 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后面的名字

  • • Linux Ecdsa密钥长度选择有何依据

    在Linux

  • • Linux Khook在内核监控中的应用如何

    Linux

  • • Linux Gsoap是否支持异步通信

    GSOAP是

  • • Linux Coremail如何提升用户体验

    提升Linu

  • • Linux Ecdsa算法有哪些局限性

    ECDSA

  • 哎呀音乐钢琴键盘学习《 钢琴主人训练营》 西瓜学琴
    郭蝈 陪练钢琴 30节课时 考级刚需 让孩子每一次练琴都是高质量的
    30天轻松学会五线谱 流行钢琴自学初级教程 牙牙学琴
    流行爵士钢琴实战技巧VIP课 - 继伟 哎呀音乐
    【海上钢琴师】原版 MT1990钢琴谱
    百首经典流行钢琴实战曲集 - 继伟
    雷费尔德电钢琴重锤88键专业考级儿童初学者数码电子钢琴家用
    小练咖 真人钢琴陪练 1v1服务 2999随时退 1课时50分钟 考级刚需
    雅马哈电钢琴88键重锤CLP735智能数码电子钢琴家用专业初学者考级
    【原装进口】Yamaha/雅马哈钢琴 b121 SC2原声静音钢琴
  • 珠海专业调钢琴
  • 天津宝坻区调钢琴
  • 天津静海区钢琴调音
  • 成都简阳市钢琴调律
  • 大连瓦房店市钢琴调音
  • 眉山调钢琴联系方式
  • 惠州大亚湾钢琴调琴师
  • 长治调琴师
  • 厦门湖里区钢琴调音师
  • 上海普陀区钢琴调音师