使用docker运行springboot项目
本文主要讲的是使用docker运行springboot项目
获取一个springboot项目
这里我没有重新构建,用的之前写的一个项目,直接从github上下载下来,地址:https://github.com/FunCodingOfWe/kevin-boot
注意:我现在已经将dockerfile上传
编写Dockerfile
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER kevin <923604825@qq.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD kevin-admin-0.0.1-SNAPSHOT.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
整理的目录结构如下

生成docker镜像
1、运行mvn install 将项目打包成jar包
2、复制jar包和Dockerfile文件到一个文件夹下
3、进入该文件夹,然后运行 docker build -t kevin-boot .
$ docker build -t kevin-boot .
Sending build context to Docker daemon 37.17MB
Step 1/6 : FROM java:8
8: Pulling from library/java
5040bd298390: Pull complete
fce5728aad85: Pull complete
76610ec20bf5: Pull complete
60170fec2151: Pull complete
e98f73de8f0d: Pull complete
11f7af24ed9c: Pull complete
49e2d6393f32: Pull complete
bb9cdec9c7f3: Pull complete
Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
Status: Downloaded newer image for java:8
---> d23bdf5b1b1b
Step 2/6 : MAINTAINER kevin <923604825@qq.com>
---> Running in 5221f818f2b5
Removing intermediate container 5221f818f2b5
---> 87c87989d791
Step 3/6 : VOLUME /tmp
---> Running in 6c23e4541df0
Removing intermediate container 6c23e4541df0
---> 62ff9644cf44
Step 4/6 : ADD kevin-admin-0.0.1-SNAPSHOT.jar app.jar
---> a3362f0f3ce0
Step 5/6 : RUN bash -c 'touch /app.jar'
---> Running in a40ec77f3c91
Removing intermediate container a40ec77f3c91
---> 4e3417d31bd4
Step 6/6 : ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
---> Running in b8f66a99abc3
Removing intermediate container b8f66a99abc3
---> 9c7986106945
Successfully built 9c7986106945
Successfully tagged kevin-boot:latest
4.检查是否已经存在镜像 docker images
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
kevin-boot latest 9c7986106945 40 seconds ago 718MB
java 8 d23bdf5b1b1b 2 years ago 643MB
我们可以看到已经存在
运行kevin-boot镜像
docker run -d -p 8099:8080 kevin-boot
验证一下
输入http://localhost:8099/hello

好了,玩的开心
使用docker运行springboot项目的更多相关文章
- ubuntu18下Docker运行springboot项目
1.springboot项目打成jar包 mvn install 2.编写Dockerfile # 基础镜像使用java FROM java:8 # 作者 #MAINTAINER sk # VOLUM ...
- linux安装docker,并在docker上运行springboot项目
docker架构示例图 仓库---> 镜像 ---> 容器 一.安装docker 1.通过 uname -r 命令查看你当前的内核版本 uname -r 2使用 root 权限登录 Ce ...
- 使用外部容器运行spring-boot项目:不使用spring-boot内置容器让spring-boot项目运行在外部tomcat容器中
前言:本项目基于maven构建 spring-boot项目可以快速构建web应用,其内置的tomcat容器也十分方便我们的测试运行: spring-boot项目需要部署在外部容器中的时候,spring ...
- SpringBoot(十六)-- 使用外部容器运行springBoot项目
spring-boot项目需要部署在外部容器中的时候,spring-boot导出的war包无法再外部容器(tomcat)中运行或运行报错. 为了解决这个问题,需要移除springBoot自带的tomc ...
- 运行springboot项目报错:Field userMapper in XX required a bean of type 'xx' that could not be found.
运行springboot项目报错: *************************** APPLICATION FAILED TO START ************************** ...
- 报错----运行springboot项目出现:Type javax.xml.bind.JAXBContext not present
目的:运行springboot项目出现:Type javax.xml.bind.JAXBContext not present 环境: 问题:运行springboot项目出现:Type javax.x ...
- Docker部署运行springboot项目,并使用Dockerfile制作镜像
前言: 本来是要搭建一个自动化部署分布式项目的服务器平台的,使用jenkins+k8s+ELK+springboot把一个简单的springboot项目给搞起来,由于工程太大,先分开把每个技术组件单独 ...
- 从零开始学习docker之在docker中运行springboot项目
一.docker环境配置 首先需要一个安装了docker的服务器(本地或者云服务器),如果没有请看上文,传送门---https://www.cnblogs.com/wdfordream/p/12737 ...
- docker部署springboot项目
本文介绍一下docker如何部署springboot项目. 前提条件: 1.可以运行jar包的环境 2.机器上已经安装了docker 3.准备部署的springboot的jar包 4.Dockerfi ...
随机推荐
- Redis Python(二)
Infi-chu: http://www.cnblogs.com/Infi-chu/ 一.NoSQL(Not only SQL)1.泛指非关系数据库2.不支持SQL语法3.存储结构与传统的关系型数据库 ...
- Assets.xcassets:-1: Failed to find a suitable device for the type IBSimDeviceTypeiPad2x
Assets.xcassets:-1: Failed to find a suitable device for the type IBSimDeviceTypeiPad2x 不知道assets发生了 ...
- Linux常用命令及详细说明 — 结合工作(侧重性能监控,包括CPU、内存、IO、网络、磁盘等)
(一)Linux监控的几个常用命令(对于服务器后端程序猿很重要,必须掌握): 命令 功能 命令 功能 iostat 统计CPU及网络.设备和分区IO的数据 vmstat 展示给定时间服务器的状态值(包 ...
- js知识点面试题
网上看到的一个题,在这里存一下 此为题目function Foo() { getName = function () { alert (1); }; return this; } Foo.getNam ...
- Oracle查看 open_cursors 和 session_cached_cursors
本文转自 http://blog.itpub.net/25583515/viewspace-2152997/ 查看当前session已使用的最大open cursor数 和cached cursor数 ...
- centos7设置服务开机自启
1.在/usr/lib/systemd/system/路径下创建文件 ***.service. 写入如下内容 [Unit]Description=nginxAfter=network.target [ ...
- Excel 2003 与 Excel 2007之间有什么不同?
如果您使用Excel 2003已有数年,您可能会意识到使用更多最新版本的Excel(2007.2010.2013或Excel 2016)的人员或组织的数量正在增加.您甚至可能收到了自己的Excel工作 ...
- python爬取图片
1.导入需要的模块requests,BeautifulSoup,os(用于文件读写). 2.创建一个类,并初始化. 1 2 3 4 5 6 7 8 class BeautifulPicture: ...
- SA详细注释不压行代码
){ //变量含义:m是字符集大小,n是字符串长度,c是一个桶数组,a[i]是字符串(下标从1开始) //rk[i]就是suffix(i)的字典序排名,sa[i]就是要求的排名为i的后缀的起始位置,即 ...
- C语言程序设计100例之(24):数制转换
例24 数制转换 题目描述 请你编一程序实现两种不同进制之间的数据转换. 输入格式 共三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16),第二行是一个n进制数,若n>10则用 ...