当前位置: 首页 > backend >正文

docker-compose部署SpringBoot项目的两种方式(构建镜像和挂载文件)

        Docker是一组平台即服务(PaaS)的产品。它基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。托管容器的软件称为Docker引擎。Docker能够帮助开发者在轻量级容器中自动部署应用程序,并使得不同容器中的应用程序彼此隔离,高效工作。该服务有免费和高级版本。它于2013年首次发布,由Docker, Inc. 开发。
​        Docker是一个开源的平台 ,用于开发、交付和运行应用程序。它能够在Windows,macOS,Linux计算机上运行,并将某一应用程序及其依赖项打包至一个容器中,这些容器可以在任何支持Docker的环境中运行。容器彼此隔离,但可以通过特定的通道相互传递信息。
        Docker提供了一个轻量级的虚拟化解决方案。由于运行在同一计算机上的所有容器共享同一个操作系统内核,避免了启动与维护虚拟机的开销。因此相比于传统的虚拟机,Docker容器更加轻便、快速、容易部署。使用Docker,开发者可以避免在两台计算机上运行效果不一致的问题,容器提供了一致的行为,进而使得应用程序在不同环境的计算机上有相同的运行效果。

本例演示docker环境部署SpringBoot项目

演示环境配置列表

  • CentOS 7.9.2008
  • docker 19.03.1
  • docker-compose 1.24.1

 一、构建镜像方式

 1 创建Dockerfile文件

FROM openjdk:8
LABEL maintainer="yourname@domain.com"
ENV TZ=Asia/Shanghai
EXPOSE 8080# 别名 将mk-admin 改名为app,与docker-compose.yml中对应
ADD mk-admin.jar app.jar
# 服务器配置文件
ADD application.yml application.yml
# 修改这个文件的访问时间和修改时间为当前时间,而不会修改文件的内容。
RUN sh -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar"]

2 编写docker-compose.yml文件

version: "3"
services:app-dev:restart: alwayscontainer_name: app-devimage: app:1.0build: . # 表示以当前目录下的Dockerfile开始构建镜像ports:- "8080:8080"volumes:- /etc/localtime:/etc/localtime:ro #将外边时间直接挂载到容器内部,权限只读- ./app/logs:/app/logs- ./app/uploadPath:/app/uploadPath

3 生成应用镜像并启动容器服务

docker-compose up -d --build

        docker-compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过使用 YAML 文件来配置应用程序的服务,可以轻松地创建和启动所需的容器。下面是一些常用的 docker-compose 命令及其参数的详细解释:
初始化 docker-compose up 创建并启动所有服务容器。
参数:
        -d:在后台运行容器。
        --build:在启动前构建或重新构建服务镜像。
        --no-deps:不启动服务链接的容器。
构建docker-compose build构建或重新构建服务。

二、挂载文件方式

1 编写docker-compose.yml文件

version: '3.3'
services:mk-admin-java-app:image: java:8  # 使用上面构建的镜像container_name: mk-admin-java-app  # 容器名称ports:- "8088:8080"  # 将容器的8080端口映射到主机的8088端口volumes:- ./mk-admin.jar:/app/mk-admin.jar- ./application.yml:/app/application.yml- ./logs:/data/logs- ./template:/opt/template- ./file:/data/fileworking_dir: /app                 # 设置工作目录command: java -jar mk-admin.jar   # 启动命令

2 启动容器服务

  docker-compose up 创建并启动所有服务容器。

docker-compose up -d
http://www.xdnf.cn/news/9941.html

相关文章:

  • Python打卡第39天
  • Futaba乐迪小飞象Frsky7通多协议接收机KA6说明书
  • hf-mirror断点续传下载权重
  • AAOS系列之(六) ---CarPowerManager中写入的状态,如何在ViewRootImpl中读取问题
  • [git]忽略.gitignore文件
  • 软件项目需求说明书简要模板
  • 【Redis】大key问题详解
  • 【计网】分片
  • websocket在vue中的使用步骤,以及实现聊天
  • MaaS(模型即服务)是什么?
  • IT Tools 部署
  • 食材走T台?Coze+即梦应用实例:实现一键生成食材走秀视频!!(附提示词)
  • [C]基础18.自定义类型:联合和枚举
  • Python实例题:Python实现Zip文件的暴力破解
  • Spring Boot整活指南:从Helo World到“真香”定律
  • 29、请求处理-常用参数注解使用
  • UE路径追踪Path Tracing和Lumen的区别
  • Lambda表达式Stream流
  • 三套知识系统的实践比较:Notion、Confluence 与 Gitee Wiki
  • 关于 smali:2. 从 Java 到 Smali 的映射
  • 无需自建高防:APP遭遇DDoS的解决方案
  • CODEFORCES----1999A - A+B Again?
  • SQL进阶之旅 Day 7:视图与存储过程入门
  • vue的h函数(在 Vue 2中也称为 createElement)理解
  • SAP BASIS常用事务代码ST06 操作系统监控
  • UVa1384/LA3700 Interesting Yang Hui Triangle
  • OpenCv高阶(十九)——dlib关键点定位
  • 深度学习核心网络架构详解:从 CNN 到 LSTM
  • 关于DJI Cloud API Demo 终止维护公告-上云API源码停止维护
  • 文本预处理