在 Docker 中运行 SpringBoot 应用
创建 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 应用的更多相关文章
- 从零开始学习docker之在docker中运行springboot项目
一.docker环境配置 首先需要一个安装了docker的服务器(本地或者云服务器),如果没有请看上文,传送门---https://www.cnblogs.com/wdfordream/p/12737 ...
- 在Docker中运行SpringBoot程序
1.将SpringBoot项目中pom.xml的build插件更换为: <build> <plugins> <plugin> <groupId>org. ...
- docker 运行jenkins及vue项目与springboot项目(五.jenkins打包springboot服务且在docker中运行)
docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...
- linux安装docker,并在docker上运行springboot项目
docker架构示例图 仓库---> 镜像 ---> 容器 一.安装docker 1.通过 uname -r 命令查看你当前的内核版本 uname -r 2使用 root 权限登录 Ce ...
- 在docker中运行ASP.NET Core Web API应用程序
本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Cor ...
- .NET Core Web 应用部署到 Docker 中运行
环境介绍 : 虚拟机:VirtualBox 5.1.6 系 统:Ubuntu 16.04.1 LTS 系统准备完成后可以使用 sudo apt-get udpate 和 sudo apt-get up ...
- docker中运行ASP.NET Core Web API
在docker中运行ASP.NET Core Web API应用程序 本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过 ...
- 在Docker中运行torch版的neural style
相关的代码都在Github上,请参见我的Github,https://github.com/lijingpeng/deep-learning-notes 敬请多多关注哈~~~ 在Docker中运行to ...
- ASP.NET Core 网站在Docker中运行
Docker作为新一代的虚拟化方式,未来肯定会得到广泛的应用,传统虚拟机的部署方式要保证开发环境.测试环境.UAT环境.生产环境的依赖一致性,需要大量的运维人力,使用Docker我们可以实现一次部署, ...
随机推荐
- 监控微信小程序wx.request请求失败
在微信小程序里,与后台服务器交互的主要接口函数是wx.request(),用于发起 HTTPS 网络请求.其重要性不言而喻.然而,却经常遇到请求失败的问题,笔者特意谷歌"wx.request ...
- Nginx 高级配置-变量使用
Nginx 高级配置-变量使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. nginx的变量可以在配置文件中引用,作为功能判断或者日志等场景使用,变量可以分为内置变量和自定义变 ...
- AQS 抽象队列同步器(Abstract Queued Synchronizer) 知识点
AQS的主要使用方式是继承,子类通过继承同步器并实现它的抽象方法来管理同步状态. AQS使用一个int类型的成员变量state来表示同步状态,当state>0时表示已经获取了锁,当state = ...
- html--JavaScript之DOM (文档对象模型)
一.简介 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 定义了用于 HTML 的一系列标准的对象,以及访问和处理 HTML 文档的标 ...
- postfix发邮件失败,日志和postqueue -p提示Connection refused
1. postfix服务未启动 2. /etc/postfix/main.cf文件中未设置inet_interfaces = all
- Windbg源代码窗口的使用
在 WinDbg 中,源窗口显示已加载到调试器中的源文件. 如何打开源代码窗口 通过菜单File--->Open Source File打开源代码文件,窗口随之打开 通过快捷键Ctrl+O 通过 ...
- Windbg Assembly Code(反汇编)窗口的使用
在WinDbg中,可以通过输入命令(u, ub, uu (Unassemble))或使用反汇编窗口查看程序汇编代码. 如何打开 DissAssembly Code窗口 通过菜单View-->Di ...
- restQL 微服务查询语言
restQL 是一个强大的微服务查询语言,类似sql,支持并行.链式.过滤.同时官方也提供了多种语言的实现 而且还有一个manger 与 graphql 以及Falcor的比较 以下是来自官方的比较说 ...
- Java实现递归阶乘
public class Factorial{ public static void main(String[] args){ for (int i = -5; i <= 5; i++) { S ...
- 网络协议 8 - TCP协议(上)
上次说了“性本善”的 UDP 协议,这哥们秉承“网之初,性本善,不丢包,不乱序”的原则,徜徉在网络世界中. 与之相对应的,TCP 就像是老大哥一样,了解了社会的残酷,变得复杂而成熟,秉承“性恶 ...