在 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我们可以实现一次部署, ...
随机推荐
- Linux shell if条件判断1
shell 逻辑控制语句: 分支判断结构 if case 循环结构 for while unt ...
- jackson springboot配置时间格式
yml文件中这样进行配置 spring: jackson: date-format: yyyy-MM-dd HH:mm:ss spring.jackson.date-format指定日期格式,比如yy ...
- 11-赵志勇机器学习-DBSCAN聚类
(草稿) 两点关系的三种定义: 1. 直接密度可达:A在B的邻域内: 2. 密度可达:AB之间存在,直接密度可达的点串: 3. 密度连接:AB之间存在点k,使得Ak和Bk都密度可达: 过程: 1. 对 ...
- selenium数据读取模块
例如 数据保存在txt中 def info(path): web_info={} config = open(path) for line in config: result = [ele.strip ...
- 移动端适配(rem & viewport)--移动端开发整理笔记(四)
移动端适配 通过rem适配 em: 根据元素自身的字体大小来计算自己的尺寸 rem: (root em) 根据根节点(html)的字体大小来计算自己的尺寸 我们知道,在不同的手机设备,分辨率大小是 ...
- vue-cli3和ts建立vue项目
第一步,如果你之前没有装vuecli,可以直接执行下面命令 npm install --global @vue/cli 注:这里我install 的时候不成,于是我用的是 cnpm install - ...
- 出现 sudo: unable to resolve host XXX 信息解决办法
Ubuntu环境, 每次执行sudo 就出现这个警告讯息:sudo: unable to resolve host XXX虽然sudo 还是可以正常执行,是机器在反解上的问题, 所以就直接从/etc ...
- 关于Visual Studio源代码文件的行尾
我们都知道,UNIX只使用换行符(linefeed)来结束每一行,而DOS传统上使用CR+LF来结束每一行,Visual Studio应该完全在DOS世界中,但不管出于什么原因,当我们从代码服务器上获 ...
- django_settings源码解析
目录 配置文件插拔式设计: 简单版: 复杂版 importlib 与`__import__的区别: 配置文件插拔式设计: 项目配置文件插拔式设计: 基于django settings源码实现自己项目配 ...
- centos 升级openSSH7.81
1.下载相关依赖包 [root@Log ~]# yum install -y gcc openssl-devel pam-devel rpm-build 2.下载安装包 wget http://ftp ...