springboot运行到dokcer中 dockerfile的场景分析

目录
  • 1.场景
  • 2.编写springboot项目打包上传linux服务器
    • 2.1将jar包和docker放到同一个目录
    • 2.2编写dockerfile
  • 3.运行dockerfile
  • 4.查看镜像
  • 5.运行镜像
  • 6.运行

1.场景

stringboot - > spring boot .jar -> dockerfile---> run dokcerfile

2.编写springboot 项目打包上传linux服务器

2.1 将jar 包和 docker放到同一个目录

-rw-r--r-- 1 root root 19514674 2月  27 22:48 myspringbootdocker.jar
[root@basenode springbootdocker]# pwd
/opt/springbootdocker
[root@basenode springbootdocker]# 

2.2 编写dockerfile

1.需要注意的是 jar包名字不能有大写
2.Dockerfile 的文件名 首字母D 必须大写

[root@basenode springbootdocker]# vi Dockerfile 

# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER wudl
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为zzyy_docker.jar
ADD myspringbootdocker.jar /myspringbootdocker.jar
# 运行jar包
RUN bash -c 'touch /myspringbootdocker.jar'
ENTRYPOINT ["java","-jar","/myspringbootdocker.jar"]
#暴露18088端口作为微服务
EXPOSE 18088

3. 运行dockerfile

命令 docker build -t myspringbootdocker:1.6 .

[root@basenode springbootdocker]# docker build -t myspringbootdocker:1.6 .
Sending build context to Docker daemon  19.52MB
Step 1/7 : 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/7 : MAINTAINER wudl
 ---> Running in 91addd3bc917
Removing intermediate container 91addd3bc917
 ---> 7982d20f4554
Step 3/7 : VOLUME /tmp
 ---> Running in 6973feea6ef5
Removing intermediate container 6973feea6ef5
 ---> c2feccd04de7
Step 4/7 : ADD myspringbootdocker.jar /myspringbootdocker.jar
 ---> fa79952fe484
Step 5/7 : RUN bash -c 'touch /myspringbootdocker.jar'
 ---> Running in f75bf573ec70
Removing intermediate container f75bf573ec70
 ---> 6d82fe109ae7
Step 6/7 : ENTRYPOINT ["java","-jar","/myspringbootdocker.jar"]
 ---> Running in 3fce2f523b70
Removing intermediate container 3fce2f523b70
 ---> 80ef7731c159
Step 7/7 : EXPOSE 18088
 ---> Running in 2d1179d0cfb4
Removing intermediate container 2d1179d0cfb4
 ---> 3f4e689e54db
Successfully built 3f4e689e54db
Successfully tagged myspringbootdocker:1.6
[root@basenode springbootdocker]#

4.查看镜像

[root@basenode springbootdocker]# docker images
REPOSITORY                                    TAG                    IMAGE ID       CREATED         SIZE
myspringbootdocker                            1.6                    3f4e689e54db   2 minutes ago   682MB
centosjava8                                   1.5                    14fad190b338   4 weeks ago     801MB
nacos/nacos-server                            v2.0.4                 ea54f31c46e4   5 weeks ago     1.07GB
tomcat                                        latest                 fb5657adc892   2 months ago    680MB
mysql                                         5.7                    c20987f18b13   2 months ago    448MB
apache/incubator-doris                        build-env-latest       cc924653f13d   2 months ago    4.24GB
apache/incubator-doris                        build-env-for-0.15.0   e568f7b2e1d8   3 months ago    3.54GB

5. 运行镜像

docker run -d -p 18089:18088 3f4e689e54db
[root@basenode springbootdocker]# docker run -d -p 18089:18088  3f4e689e54db
5040141bd7d5700d8310a70309f940bb452656c0e909c6c6e138f7f6a9f65295
[root@basenode springbootdocker]# 

6. 运行

到此这篇关于springboot运行到dokcer中 dockerfile的文章就介绍到这了,更多相关springboot运行dockerfile内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • IDEA 配合 Dockerfile 部署 SpringBoot 工程的注意事项

    准备 SpringBoot 工程 1.新建 SpringBoot 项目,默认的端口是 8080 ,新建 Controller 和 Mapping @RestController public class HelloController { @GetMapping("hello") public String hello() { return "hello world!"; } } 注意,需要在 pom 中添加 spring-boot-maven-plugin 插件,

  • 利用Dockerfile部署SpringBoot项目的方法

    1.创建一个SpringBooot项目并且打成jar包 2.在Linux中创建一个文件夹,来做docker测试 [root@izwz90lvzs7171wgdhul8az ~]# mkdir /root/docker_test 3.将jar包上传到Linux中 创建存放jar包的文件夹 [root@izwz90lvzs7171wgdhul8az docker_test]# mkdir /root/docker_test/jar 然后利用XShell上传jar包到上面的文件夹中 4.编写Docke

  • springboot中的dockerfile使用

    目录 环境 一.创建springboot项目 选择Initalizr Service URL 二.创建Dockerfile文件 三.Springboot用maven打包 遇到的坑 解决办法 四.制作Docker镜像 五.创建Docker容器并启动 六.检验结果 七.总结 环境 MAC Centos7 JDK8 SpringBoot Dockerfile 一.创建springboot项目 上面是springboot的项目结构. 选择Initalizr Service URL 创建springboo

  • springboot运行到dokcer中 dockerfile的场景分析

    目录 1.场景 2.编写springboot项目打包上传linux服务器 2.1将jar包和docker放到同一个目录 2.2编写dockerfile 3.运行dockerfile 4.查看镜像 5.运行镜像 6.运行 1.场景 stringboot - > spring boot .jar -> dockerfile---> run dokcerfile 2.编写springboot 项目打包上传linux服务器 2.1 将jar 包和 docker放到同一个目录 -rw-r--r--

  • SpringBoot集成Redisson实现延迟队列的场景分析

    使用场景 1.下单成功,30分钟未支付.支付超时,自动取消订单 2.订单签收,签收后7天未进行评价.订单超时未评价,系统默认好评 3.下单成功,商家5分钟未接单,订单取消 4.配送超时,推送短信提醒 ...... 对于延时比较长的场景.实时性不高的场景,我们可以采用任务调度的方式定时轮询处理.如:xxl-job 今天我们采用一种比较简单.轻量级的方式,使用 Redis 的延迟队列来进行处理.当然有更好的解决方案,可根据公司的技术选型和业务体系选择最优方案.如:使用消息中间件Kafka.Rabbi

  • springboot 整合dubbo3开发rest应用的场景分析

    目录 一.前言 二.dubbo适用场景 1.内部单体应用微服务化 2.应用服务更多面向内部服务间调用 3.对服务管理趋于精细化 三.dubbo微服务治理过程中的一个难题 四.与springboot的整合使用 1.公共pom依赖 2.common-service 模块 3.provider-demo 模块 pom依赖 核心配置文件 服务实现类 启动类 4.consumer-demo 模块 4.接口测试 4.1 启动zookeeper服务 4.2 启动provider服务 4.3 启动consume

  • Mac下部署springBoot项目到Docker中(demo)

    SpringCloud + Docker 的便利和强大真的超乎想象,我已经入坑了-好了,不说废话,记录一个简单的 Demo 供其他同学排坑. 前言 惯例不能丢,先上源代码:docker-demo 这个项目的代码是我执行在Docker上部署SpringBoot的java代码和Dockerfile配置文件,相关的执行命令语句也记录在上. 操作流程 本地部署 在 Mac 上安装启动 Docker.详细步骤请参考:MacOS安装Docker clone 项目:docker-demo,然后依次执行: do

  • SpringBoot 过滤器、拦截器、监听器对比及使用场景分析

    一.关系图理解 二.区别 1.过滤器 过滤器是在web应用启动的时候初始化一次, 在web应用停止的时候销毁 可以对请求的URL进行过滤, 对敏感词过滤 挡在拦截器的外层 实现的是 javax.servlet.Filter 接口 ,是 Servlet 规范的一部分 在请求进入容器后,但在进入servlet之前进行预处理,请求结束是在servlet处理完以后 依赖Web容器 会多次执行 过滤器简介 过滤器的英文名称为 Filter, 是 Servlet 技术中最实用的技术.如同它的名字一样,过滤器

  • SpringBoot Aop 详解和多种使用场景解析

    前言 aop面向切面编程,是编程中一个很重要的思想本篇文章主要介绍的是SpringBoot切面Aop的使用和案例 什么是aop AOP(Aspect OrientedProgramming):面向切面编程,面向切面编程(也叫面向方面编程),是目前软件开发中的一个热点,也是Spring框架中的一个重要内容.利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率. 使用场景 利用AOP可以对我们边缘业务进行隔离,降低无关业务逻辑耦

  • Docker中Dockerfile制作镜像的方法步骤

    目录 1.基于容器制作 2. 基于Dockerfile制作镜像 2.1 Dockerfile命令 2.2 简单示例 docker 镜像的制作,可以基于容器创建镜像,也可基于 dockerfile 构建镜像.但需要注意的是,我们并不是真正"创建"新镜像,而是基于一个已有的基础镜像,如 centos 或 ubuntu 等,构建新镜像而已. 1.基于容器制作 联合文件系统(UnionFS)挂载提供了容器的文件系统,任何对容器内文件系统的改动都会被写入到新的文件层中,这个文件层归创建它的容器所

  • 关于SpringBoot获取IOC容器中注入的Bean(推荐)

    一: 注入一个TestUtils类 package com.shop.sell.Utils; import com.shop.sell.dto.CartDTO; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class TestUtils { @Bean(name="test

  • java中Lambda常用场景代码实例

    本文实例为大家分享了java中Lambda常用场景的具体代码,供大家参考,具体内容如下 public class test18 { /** * lambda表达式的常用场景 */ @Test public void test() { List<String> list_one = new ArrayList<>(); list_one.add("NIKE"); list_one.add("Addidas"); /** * 用在匿名内部类里简写

  • SpringBoot从yml配置文件中读常用参数值实例方法

    SpringBoot现在基本上都是使用application-XXX.yml(生产环境为pro,开发测试环境为dev)来配置项目中的一些配置条件,在springboot中还可以通过从yml文件中将yml中的数据直接读取出来. 1.yml文件(这里设置参数的时候往往设置两层前缀,避免在调用的时候该属性中的部分参数名与计算机中的某些名字冲突) test: person: lastName: hello age: 18 boss: false birth: 2017/12/12 maps: {k1:

随机推荐