创建 SpringBoot 项目

用 Idea 创建一个 SpringBoot 项目,编写一个接口:

package cloud.dockerdemo

import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestMethod
import org.springframework.web.bind.annotation.RestController @RestController
class HelloDocker { @RequestMapping(value = ["/"], method = [RequestMethod.GET])
fun hello(): String {
return "<h1>Hello, Docker!</h1>"
}
}

这里用的 Kotlin 语言,用 Java 的话,注解是一样的。

下载 OpenJDK 镜像

只用下载 jre 就行,只有 57MB。

docker pull openjdk:8u212-jre-alpine

在项目根目录下建立 Dockerfile

FROM openjdk:8u212-jre-alpine

WORKDIR /home/dev

COPY ./target/*.jar /home/dev/app.jar

CMD ["java", "-jar", "app.jar"]
  • target 目录就是 maven 打包输出 jar 的目录,把打包的 jar 文件拷贝到容器中。
  • CMD 就是容器启动时执行的命令,即 java -jar app.jar

注意这里运行 jar 没有使用 & 符号,因为在 Docker 容器中运行的程序必须是前台的,如果用后台方式运行,命令执行完容器就直接停止了。

构建镜像

在终端中把工作目录切换到项目目录,执行:

docker build -t <镜像名称> .

最后的 . 不能掉,它指定了上下文目录为当前目录。

运行容器

docker run --name <容器名称> -d -p 8080:8080 <上一步构建的镜像名称>

运行后,可以使用 docker ps 命令查看是否成功运行。

访问 localhost:8080 访问接口:

在 Docker 中运行 SpringBoot 应用的更多相关文章

  1. 从零开始学习docker之在docker中运行springboot项目

    一.docker环境配置 首先需要一个安装了docker的服务器(本地或者云服务器),如果没有请看上文,传送门---https://www.cnblogs.com/wdfordream/p/12737 ...

  2. 在Docker中运行SpringBoot程序

    1.将SpringBoot项目中pom.xml的build插件更换为: <build> <plugins> <plugin> <groupId>org. ...

  3. docker 运行jenkins及vue项目与springboot项目(五.jenkins打包springboot服务且在docker中运行)

    docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...

  4. linux安装docker,并在docker上运行springboot项目

    docker架构示例图 仓库---> 镜像 --->  容器 一.安装docker 1.通过 uname -r 命令查看你当前的内核版本 uname -r 2使用 root 权限登录 Ce ...

  5. 在docker中运行ASP.NET Core Web API应用程序

    本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Cor ...

  6. .NET Core Web 应用部署到 Docker 中运行

    环境介绍 : 虚拟机:VirtualBox 5.1.6 系 统:Ubuntu 16.04.1 LTS 系统准备完成后可以使用 sudo apt-get udpate 和 sudo apt-get up ...

  7. docker中运行ASP.NET Core Web API

    在docker中运行ASP.NET Core Web API应用程序 本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过 ...

  8. 在Docker中运行torch版的neural style

    相关的代码都在Github上,请参见我的Github,https://github.com/lijingpeng/deep-learning-notes 敬请多多关注哈~~~ 在Docker中运行to ...

  9. ASP.NET Core 网站在Docker中运行

    Docker作为新一代的虚拟化方式,未来肯定会得到广泛的应用,传统虚拟机的部署方式要保证开发环境.测试环境.UAT环境.生产环境的依赖一致性,需要大量的运维人力,使用Docker我们可以实现一次部署, ...

随机推荐

  1. 【爬虫】网页抓包工具--Fiddler--Request和Response

    [爬虫]网页抓包工具--Fiddler Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888, ...

  2. window配合虚拟机VMware搭建虚拟ubuntu服务器入坑集锦

    1.VMware虚拟机和主机进行网络连接设置 https://jingyan.baidu.com/article/adc81513b86621f723bf7383.html 2.解决linux虚拟机与 ...

  3. 记一次wsl上的pip3安装失败问题 The following packages were automatically installed and are no longer required:

    转载请注明来源.https://www.cnblogs.com/sogeisetsu/.然后我的CSDNhttps://blog.csdn.net/suyues/article/details/103 ...

  4. AjAX2 异步通信 异常处理

    <!DOCTYPE html> <html lang="en"> <head> <title>xmlhttprequest ajax ...

  5. 杨巧丽 实验十四 团队项目评审&课程学习总结

    实验十四 团队项目评审&课程学习总结 项目 内容 这个作业属于哪个课程 (https://www.cnblogs.com/nwnu-daizh/) 这个作业的要求在哪里 (https://ww ...

  6. nginx docker 命令: command not found

    1. ps: command not found 使用如下命令安装 apt-get update && apt-get -y install procps 2. vim: comman ...

  7. wordpress调用指定类型post_type的文章

    wordpress很强大,可以添加多种post_type文章类型,假如我们要调用product产品模型的文章要如何操作呢?随ytkah一起来看看吧.我们用'post_type' => 'prod ...

  8. jQuery对象和DOM对象转换,解决jQuery对象不能使用js方法的问题

    有时候想要jQuery对象使用js方法,但是jQuery对象是什么js方法都不能用,怎么办呢?方法其实很简单,只要转换jQuery和DOM对象就可以了. 方法一: var $cr = $(" ...

  9. 排序算法-插入排序(Java)

    package com.rao.linkList; import java.util.Arrays; /** * @author Srao * @className InsertSort * @dat ...

  10. centos定时删除log文件

    #!bin/bash #获取年 time=$(date "+%Y") #查找并删除7天前的文件 find /opt/applog/travelsky -type f -mtime ...