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

使用Docker Compose给自己上传的JAR打包成镜像并自动启动容器

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。通过编写一个docker-compose.yml文件,可以简化Docker容器的管理。本文将介绍如何使用Docker Compose将一个上传的JAR文件打包成Docker镜像,并在容器中自动启动该应用程序。

一、准备工作

1. 安装Docker和Docker Compose
在开始之前,确保你已经安装了Docker和Docker Compose,如已安装可跳过。可以通过以下命令进行安装:

安装Docker:

sudo apt-get update
sudo apt-get install -y docker.io

安装Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

二、项目结构

首先,创建一个项目目录,并将你的JAR文件放在该目录中。假设你的JAR文件名为app.jar。项目目录结构如下:

my-docker-app/
├── app.jar
├── Dockerfile
└── docker-compose.yml

三、编写Dockerfile

Dockerfile用于定义如何构建Docker镜像。创建一个Dockerfile,内容如下:

# 基础镜像
FROM openjdk:11-jre-slim# 作者信息
LABEL maintainer="your-email@example.com"# 将JAR文件复制到镜像中
COPY app.jar /usr/src/app/app.jar# 设置工作目录
WORKDIR /usr/src/app# 暴露应用程序端口
EXPOSE 8080# 运行应用程序
ENTRYPOINT ["java", "-jar", "app.jar"]

具体版本和信息可自定义更改

四、编写docker-compose.yml

docker-compose.yml用于定义多容器Docker应用程序的服务、网络和卷。创建一个docker-compose.yml文件,内容如下:

version: '3.8'services:app:build:context: .dockerfile: Dockerfileimage: image_name  # 指定镜像名称container_name: container_name  # 指定容器名称ports:- "8017:8080"  # 映射容器的8017端口到主机的8080端口volumes:- /my-docker-app/logs:/logs  # 挂载日志目录  environment:- JAVA_OPTS=-Xmx512m  # 可选:设置JVM最大内存restart: always

五、构建和启动容器

在项目目录中,运行以下命令构建Docker镜像并启动容器:

docker-compose up --build -d

以上命令会执行以下操作:

1. 构建镜像:根据Dockerfile构建Docker镜像。
2. 启动容器:根据docker-compose.yml定义的服务,启动容器。
3. 后台运行:使用 -d 选项,让容器在后台运行。

六、验证容器状态

使用以下命令查看容器状态,确保容器已经启动并运行:

docker-compose ps

输出应类似于以下内容,表示容器正在运行:

     Name                    Command               State          Ports        
--------------------------------------------------------------------------------
container_name   java -jar app.jar            Up      0.0.0.0:8087->8080/tcp

七、日志查看

可以使用以下命令查看容器的日志输出,检查应用程序是否正常运行:

docker-compose logs -f

八、停止和移除容器

当不再需要运行容器时,可以使用以下命令停止并移除容器:

docker-compose down

九、总结

本文介绍了如何使用Docker Compose将一个上传的JAR文件打包成Docker镜像,并在容器中自动启动该应用程序。通过Docker Compose,可以简化多容器应用程序的管理和部署,提高开发和运维效率。

主要步骤包括:

  1. 安装Docker和Docker Compose。
  2. 创建项目目录并放置JAR文件。
  3. 编写Dockerfile定义镜像构建过程。
  4. 编写docker-compose.yml定义服务配置。
  5. 使用docker-compose up --build -d命令构建并启动容器。
  6. 验证容器状态和查看日志。

希望本文对你在Docker和Docker Compose的使用上有所帮助。如有任何问题或建议,欢迎交流讨论。

使用docker-compose给自己上传的JAR打包成镜像并自动启动容器------每次更新jar包自动化执行脚本传送门

http://www.lryc.cn/news/406912.html

相关文章:

  • NET8部署Kestrel服务HTTPS深入解读TLS协议之Certificate证书
  • DML数据库的数据类型
  • @RequestParam和@PathVariable 处理 HTTP 请求参数的注解
  • 《代码大全》读书笔记-第Ⅰ部分 奠定基础
  • 杰发科技Bootloader(1)—— Keil配置地址
  • 338. 比特位计数
  • flask后端+vue前端——后端怎么发文件给前端?
  • 计算机毕业设计django+hadoop+scrapy租房可视化 租房推荐系统 租房大屏可视化 租房爬虫 spark 58同城租房爬虫 房源推荐系统
  • 【Tomcat】Mac M3 Pro安装Tomcat7
  • Spring Boot(八十二):SpringBoot通过rsa实现API加密
  • 巴黎奥运启幕 PLM系统助力中国制造闪耀全球
  • 基于STM32瑞士军刀--【FreeRTOS开发】学习笔记(一)|| RISC / 底层代码执行步骤 / 汇编指令
  • 【JavaScript】01数组原型对象的最后一个元素、计数器
  • 解决R语言找不到系统库导致的报错
  • Java高并发理论基础
  • Spring事件机制
  • vue+canvas音频可视化
  • 俊昭stm32笔记
  • W30-python03-pytest+selenium+allure访问百度网站实例
  • 如何在 Debian 8 上安装和使用 PostgreSQL 9.4
  • 【微信小程序】微信小程序设置本地背景图片在真机无法显示的解决方案
  • Arthas在线诊断案例实战整理
  • 使用 XRDP 远程linux主机
  • 学习小型gpt源码(自用)
  • @Transactional使用的注意事项
  • 快手可灵视频生成大模型全方位测评
  • 【JavaScript】`Map` 数据结构
  • Ubuntu22.04使用NVM安装多版本Node.js和版本切换
  • 基于C51和OLED12864实现Goole小恐龙
  • 【Docker】CentOS7环境下的安装