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

转载  更新时间:2017年08月02日 10:01:54   作者:Ramer-F   我要评论

本篇文章主要介绍了使用Docker部署 spring-boot maven应用的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文介绍了使用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:


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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Docker新手实践及部署NGINX的步骤详解

    Docker新手实践及部署NGINX的步骤详解

    最近工作中有个需求, 用docker去部署nginx的静态服务器。仔细观察这个命题,看似不难,但实际其中的注意点很多,新手很容易搞错,所以下面这篇文章主要给大家介绍了关于Docker新手实践及部署NGINX的步骤,需要的朋友可以参考下。
    2017-11-11
  • Docker 自动部署tomcat详解

    Docker 自动部署tomcat详解

    这篇文章主要介绍了Docker 自动部署tomcat详解的相关资料,需要的朋友可以参考下
    2016-11-11
  • Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress实践

    Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress实践

    本文给大家分享的是作者基于Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress的详细过程,非常的全面,有需要的小伙伴可以参考下
    2017-02-02
  • 详解ubuntu 16.04安装docker教程

    详解ubuntu 16.04安装docker教程

    本篇文章主要介绍了ubuntu 16.小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • docker运行容器远程挂载卷的方法

    docker运行容器远程挂载卷的方法

    本篇文章主要介绍了docker运行容器远程挂载卷的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Docker 实现浏览器里开发Android应用的功能

    Docker 实现浏览器里开发Android应用的功能

    这篇文章主要介绍了Docker 实现浏览器里开发Android应用的功能的相关资料,这里对布置环境做了详细的步骤,也许你能用到这样的功能,需要的朋友可以参考下
    2016-11-11
  • Docker集群的创建与管理实例详解

    Docker集群的创建与管理实例详解

    这篇文章主要介绍了Docker集群的创建与管理,结合实例形式详细分析了docker集群原理、创建、访问等相关操作技巧与注意事项,需要的朋友可以参考下
    2018-06-06
  • docker之创建MariaDB镜像的方法

    docker之创建MariaDB镜像的方法

    这篇文章主要介绍了docker之创建MariaDB镜像,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • docker images,info,-d等命令报错的解决方法

    docker images,info,-d等命令报错的解决方法

    最近刚接触Docker,所以在学习的过程中出现了好多的问题,百度上不好找,谷歌的话,楼主不会翻墙。后来通过各方求助和细心研究解决了一些遇到的问题,现在将遇到的问题和解决方法分享给大家,有需要的朋友们可以参考借鉴。
    2016-11-11
  • Docker 教程之获取镜像基础知识详解

    Docker 教程之获取镜像基础知识详解

    这篇文章主要介绍了Docker 教程之获取镜像详解的相关资料,需要的朋友可以参考下
    2016-12-12

最新评论