使用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 ...
随机推荐
- How to: Create a Business Model in the XPO Data Model Designer 如何:在 XPO 数据模型设计器中创建业务模型
This topic provides step-by-step instructions on how to use the XPO Data Model Designer in XAF appli ...
- go 杂项笔记
*** 使用go build编译该程序,注意这里需要指定 -gcflags "-N -l" 关闭编译器优化,否则编译器可能把对sum函数的调用优化掉. bobo@ubuntu:~/ ...
- linux上安装jenkins过程
最近在学到jenkins分布式构建时,需要一台部署jenkins的主机服务器master,自己用的win10作为slave,所以我想在虚拟机上先部署jenkins. centos还是ubuntu呢,算 ...
- C++ std::stack 基本用法
#include <iostream> #include <string> #include <stack> // https://zh.cppreference. ...
- C++ std::vector 基本用法
#include <iostream> #include <vector> using namespace std; int main() { // 初始化的方式 std::v ...
- IntelliJ IDEA安装与使用
官网:https://www.jetbrains.com/ 点击 点击下载 点击
- linux自建https证书
一.生成单向认证的https证书 建立服务器私钥,生成RSA秘钥. 会有两次要求输入密码, 然后获得了一个server.key文件. 以后使用此文件(通过openssl提供的命令或API)可能经常回要 ...
- jQuery 源码解析(二十三) DOM操作模块 替换元素 详解
本节说一下DOM操作模块里的替换元素模块,该模块可将当前匹配的元素替换指定的DOM元素,有两个方法,如下: replaceWith(value) ;使用提供的新内容来替换匹配元素集合中的每个元 ...
- ETCD:运行时重新配置
原文地址:runtime reconfiguration etcd带有增量运行时重新配置的支持.允许我们在集群运行的时候更新集群成员关系. 仅当大多数集群成员都在运行时,才能处理重新配置请求,强烈建议 ...
- Java 中 PO 与 VO 的区别
什么是PO PO(Persistence Object 持久化对象)是直接跟持久层数据库打交道的java Bean (model,entity,bean等叫法都是可以的),里面除了私有的成员变量之外, ...