上一篇随笔,nginx是启动运行在容器内,spring.boot的web项目是运行在宿主内,这一篇的目的,是把web项目也制作成镜像,然后在容器里启动。

文件目录结构如下:

主要文件结构说明:(1)bin放的是测试用的sh启动脚本,这篇随笔里暂时没用,主要用于自己测试用的。

         (2)config放的是项目的外部配置文件,application.yml、log4j2.xml 等,众所周知,一般生产环境不会把配置文件打包到jar包里面。

         (3)lib放的是jar包

         (4)logs 日志文件夹

理想的情况是,要挂载目录,这次我就不演示如何挂载目录

Dockerfile的文件脚本如下:

FROM openjdk:-jdk-alpine
COPY ./config /usr/web/live/config
COPY ./bin /usr/web/live/bin
COPY ./logs /usr/web/live/logs
COPY ./lib /usr/web/live/lib EXPOSE ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom",\
"-jar",\
"-Dlogging.path=/usr/web/live/logs",\
"-Dloader.path=/usr/web/live/lib",\
"-Dlogging.config=/usr/web/live/config/log4j2.xml",\
"-Dspring.config.location=/usr/web/live/config/application.yml",\
"/usr/web/live/lib/app.jar"]

进入dokcerfile文件同一级目录后,制作docker文件。

docker build -t caicai/live:1.0 .

运行

docker run -p :  caicai/live:1.0

然后IE看下效果

部署步骤大概就是上面这些。

下面我们来验证下容器内部。前面提到的Dockfile脚本里面

COPY ./config /usr/web/live/config
.... 是把宿主的指定文件夹整个复制到内容内部指定的文件夹。

我们来验证下,首先,控制台输入:docker ps  #查看当前宿主所有运行的容器信息

然后可以知道刚才启动的容器Id是f4f5957f99d8,那么,接着输入 docker exec -it f4f5 /bin/sh  #进入容器内部

接着,在容器内部输入一些脚本来验证

可以看到整个容器内部的目录,已经包含我们刚才COPY进来的文件,以及运行web项目的日志文件等信息。

以上就是整个部署的简单过程,有很多运维缺陷,比如容器关闭之后,产生的日志没办法持久化、查看运维日志不方便等等

docker 部署spring.boot项目【一】(引用外部配置文件)的更多相关文章

  1. 使用 Docker 部署 Spring Boot 项目,带劲!!

    上一篇:年轻人的第一个 Docker 应用 Docker 一次构建.处处运行及快速启停的特性,在微服务架构中有着举足轻重的地位,具体的概念性的东西就不介绍了,不懂的点击这里阅读 Docker 基础教程 ...

  2. 使用Docker部署Spring boot项目

    Docker是一个使用广泛的Linux容器管理工具包,它允许用户创建镜像,并将其容器实例化.通过本指南,我们可以学习到如何使用Docker部署Spring Boot项目. 先决条件 开发之前,你必须具 ...

  3. Windows Docker 部署 Spring Boot 项目

    目录 Docker Configuration Config IDEA Plugin Create Spring Boot Project Containerize It Use Dockerfile ...

  4. 使用 Docker 部署 Spring Boot 项目

    Docker 介绍 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口.它是目前最流行的 Linux 容器解决方案. Docker 将应用程序与该程序的依赖,打包在一个文件里面 ...

  5. IDEA连接远程服务器Docker部署Spring Boot项目

    开始前的准备工作 拥有一台云服务器,我的是腾讯云服务器(CentOS7) 腾讯云服务器安装Docker,我的版本是Docker 19.03.9,关于安装和配置镜像加速器可以查阅我的另一篇博文:http ...

  6. 【docker】docker部署spring boot项目在服务器上

    IDE:idea 工具:docker spring boot:2.0.1 ======================================== 简单记录一下流程,以供参考: 第一步:首先得 ...

  7. docker部署spring boot项目在服务器上

    IDE:idea 工具:docker spring boot:2.0.1 ======================================== 简单记录一下流程,以供参考: 第一步:首先得 ...

  8. Docker 部署Spring Boot 项目并连接mysql、redis容器(记录过程)

    Spring Boot 项目配置 将写好的Spring Boot 项目通过maven 进行package打包获得可执行Jar 再src/main/docker(放哪都行)下编写创建Dockerfile ...

  9. 如何用Docker部署Spring Boot项目

    1.idea中安装docker插件: 2.新建DockerFile,内容如下. # 基础镜像使用java FROM java:8 # 作者 MAINTAINER vic <test@163.co ...

随机推荐

  1. 在linux上处理base64加密和解密

    http://snailwarrior.blog.51cto.com/680306/142472/ 2.从标准输入读取文件内容,base64编码并打印到标准输出 [root@localhost tes ...

  2. hdu 5074 Hatsune Miku DP题目

    题目传送门http://acm.hdu.edu.cn/showproblem.php?pid=5074 $dp[i][j] =$ 表示数列前$i$个数以$j$结尾的最大分数 $dp[i][j] = - ...

  3. 框架-Java:Spring Boot

    ylbtech-框架-Java:Spring Boot 1.返回顶部 1. Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该 ...

  4. openstack network:dhcp binding fail

  5. 如何在BCGControlBar工程的工具栏里面新增下拉列表控件

    通常情况下,工具栏里面都是一些按钮和图片,很少可以看到下拉列表控件,但是在某些应用场合,也需要用到下拉列表控件.今天在这里就简单讲解下如何在工具栏里添加下拉列表控件.   添加的过程也比较简单,在CM ...

  6. Java源码——Integer

    最近在研究java的源代码,但是由于自己英语水平有限,所以想使用中文注释的方式把源码里的方法全部重写 一遍,下面是楼主整理出来的一小部分.我把整体的项目托管到GitHub上了,欢迎大家前去交流学习. ...

  7. bzoj 1627: [Usaco2007 Dec]穿越泥地【bfs】

    在洛谷上被卡了一个点开了O2才过= = bfs即可,为方便存储,把所有坐标+500 #include<iostream> #include<cstdio> #include&l ...

  8. Akka源码分析-Cluster-Singleton

    akka Cluster基本实现原理已经分析过,其实它就是在remote基础上添加了gossip协议,同步各个节点信息,使集群内各节点能够识别.在Cluster中可能会有一个特殊的节点,叫做单例节点. ...

  9. 数据传递-------@ResponseBody

    1.导入jar包 jack-core-asl-1.9.11.jar jack-mapper-asl-1.9.11.jar 2.配置springmvc-servlet.xml文件 <?xml ve ...

  10. 239 Sliding Window Maximum 滑动窗口最大值

    给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧.你只可以看到在滑动窗口 k 内的数字.滑动窗口每次只向右移动一位.例如,给定 nums = [1,3,-1,-3, ...