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

【2025】使用docker compose一键部署项目到服务器(4)

目录💻

  • 前言
    • 一、部署准备
    • 二、本地idea配置docker和docker compose执行器
    • 三、编写docker-compose.yml文件
    • 四、执行启动

前言

该篇文章主要是使用idea通过docker-compose.yml构建容器集合并且进行统一管理更新

该专栏主要为介绍通过docker compose实现容器编排部署

  • 🍅【2025】快速部署安装docker以及项目搭建所需要的基础环境(mysql、redis、nginx、nacos)(1)
  • 🍓【2025】harbor仓库搭建上传下载(2)
  • 🍇【2025】使用idea结合docker插件一键发布项目到harbor仓库(3)
  • 🥒【2025】使用docker compose一键部署项目到服务器(4)

一、部署准备

因为我们的项目直接部署会出现资源限制问题,需要在部署项目的服务器的docker添加下面配置

vi /usr/lib/systemd/system/docker.service

找到ExecStart=的位置,在后面添加对应内容

--default-ulimit nofile=65536:65536     --default-ulimit nproc=60000:60000

二、本地idea配置docker和docker compose执行器

如果本地安装了docker则跳过这一步

docker:https://download.docker.com/win/static/stable/x86_64/

docker compose:https://github.com/docker/compose/releases

把下载好的.exe文件放入文件夹配置好对应的指定地址
在这里插入图片描述
如果本来本地就安装了docker则不用处理
在这里插入图片描述

三、编写docker-compose.yml文件

  • 执行在项目跟目录创建一个docker compose文件
    在这里插入图片描述

  • 编写docker-compose.yml文件

    version: '3.8'  # Docker Compose 文件版本services:service-gateway:image: 10.37.129.2:5000/ssyx/service-gateway:1.0.1  # 替换为你的 Harbor 地址和镜像标签container_name: service-gateway  #容器名称ports:- "8000:8000"  # 映射端口,根据实际情况修改(服务器端口:容器端口)environment: # 如果你的服务需要环境变量,在这里配置- SPRING_PROFILES_ACTIVE:dev  #指定devvolumes: # 如果有挂载目录,在这里定义,配置日志的挂载目录即可- /home/docker/docker-logs/ssyx/service-gateway:/app/logs/service-gatewayrestart: always # 推荐设置,服务意外停止后自动重启# depends_on:  # 如果有依赖的服务,比如数据库,在这里定义#   - erpservice-sys:image: 10.37.129.2:5000/ssyx/service-sys:1.0.1container_name: service-sys  #容器名称ports:- "8001:8001"environment:- SPRING_PROFILES_ACTIVE:devvolumes:- /home/docker/docker-logs/ssyx/service-gateway:/app/logs/service-gatewayrestart: always
  • 配置启动服务
    在这里插入图片描述

    在这里插入图片描述
    ⚠️注意:需要配置一下down删除容器时把本地镜像也删除掉,因为我们每次更新代码都需要到远程仓库去拉取最新的镜像,如果本地不删除的话,就不会每次去远程仓库拉取。
    在这里插入图片描述

四、执行启动

创建好之后可以点击右上角的执行,也可以直接点击docker-compose.yml的启动标识启动创建单个服务或者多个容器
在这里插入图片描述

启动好之后则可以通过日志查看和管理docker容器
在这里插入图片描述

http://www.lqws.cn/news/121339.html

相关文章:

  • Dify智能问数大模型Text2SQL流程编排从0到1完整过程
  • 详细讲解Flutter GetX的使用
  • Jenkins的学习与使用(CI/CD)
  • Quick UI 组件加载到 Axure
  • [Harmony]网络状态监听
  • Solana Web3 快速入门:创建并获取钱包账户的完整指南
  • Axure高保真LayUI框架 V2.6.8元件库
  • Axure 下拉框联动
  • 2025年Splunk的替代方案:更智能的安全选择
  • 力提示(force prompting)的新方法
  • PHP 复制商品扩展实操:轻松切换一号通、99api ,实现商品复制功能
  • 【Linux 】centos8搭建nextcloud全过程
  • 直播美颜SDK深度解析:AI人脸美型与智能美白技术揭秘
  • 机器学习实战37-基于情感字典和机器学习的股市舆情分析可视化系统
  • 微信小程序开发一个自定义组件的详细教程
  • 概念全解析:结构化数据,半结构化数据,非结构化数据分别是什么意思?
  • TPU(张量处理单元)和 TVM(张量虚拟机)深度分析
  • 分类预测 | Matlab实现CNN-BiLSTM-Attention高光谱数据分类预测
  • 【LLM大模型技术专题】「入门到精通系列教程」LangChain4j与Spring Boot集成开发实战指南
  • 美业破局:AI智能体如何用数据重塑战略决策(5/6)
  • VSCode 工作区配置文件通用模板创建脚本
  • OpenHarmony平台驱动使用(十五),SPI
  • springboot--实战--大事件--文章分类接口开发详解
  • 解决:如何在Windows adb使用dmesg | grep检查内核日志
  • 系统调试——ADB 工具
  • yum更换阿里云的镜像源
  • 【论文阅读笔记】Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation
  • 突破数据孤岛:StarRocks联邦查询实战指南
  • RDMA简介3之四种子协议对比
  • 数据结构第一章