使用docker compose一键部署项目到服务器过程

 更新时间:2025年07月18日 16:50:13   作者:方渐鸿  
本文介绍通过IntelliJ IDEA使用docker-compose.yml构建和管理容器集合,需修改Docker配置、设置执行器路径,编写yml文件并配置删除镜像以确保每次更新拉取远程镜像,最后通过日志管理容器

前言

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

一、部署准备

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

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

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

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

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

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

把下载好的.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  #指定dev
    volumes: # 如果有挂载目录,在这里定义,配置日志的挂载目录即可
      - /home/docker/docker-logs/ssyx/service-gateway:/app/logs/service-gateway
    restart: always # 推荐设置,服务意外停止后自动重启
    # depends_on:  # 如果有依赖的服务,比如数据库,在这里定义
    #   - erp

  service-sys:
    image: 10.37.129.2:5000/ssyx/service-sys:1.0.1
    container_name: service-sys  #容器名称
    ports:
      - "8001:8001"
    environment:
      - SPRING_PROFILES_ACTIVE:dev
    volumes:
      - /home/docker/docker-logs/ssyx/service-gateway:/app/logs/service-gateway
    restart: always


配置启动服务

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

四、执行启动

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

启动好之后则可以通过日志查看和管理docker容器

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决docker容器设置DNS不生效的问题

    解决docker容器设置DNS不生效的问题

    文章主要介绍了如何在Docker中设置DNS,并通过两种方式(`docker run`和`docker-compose.yml`)进行了详细说明,虽然`docker run`方式可以成功设置DNS,但`docker-compose.yml`方式在某些情况下会导致DNS配置无效,因为容器的`/etc/resolv.conf`文件
    2025-01-01
  • Docker Runc容器生命周期详细介绍

    Docker Runc容器生命周期详细介绍

    这篇文章主要介绍了Docker Runc容器生命周期详细介绍的相关资料,文章分析runc的容器生命周期的抽象、内部实现以及状态转换图。理解了runc的容器状态转换再对比理解docker client提供的容器操作命令的语义会更容易些
    2016-12-12
  • 卸载Docker时遇到问题的解决方案

    卸载Docker时遇到问题的解决方案

    这篇文章主要介绍了卸载Docker时遇到问题的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • Docker安装Oracle创建表空间并导入数据库完整步骤

    Docker安装Oracle创建表空间并导入数据库完整步骤

    Docker提供了一种简便的方式,通过容器化我们可以在任何支持Docker 的环境中快速部署Oracle数据库,这篇文章主要介绍了Docker安装Oracle创建表空间并导入数据库的相关资料,需要的朋友可以参考下
    2025-04-04
  • 解决在 Docker 中启动 labelImg 的相关报错

    解决在 Docker 中启动 labelImg 的相关报错

    文章介绍了在Ubuntu-22.04中使用Miniconda3创建的Python 3.10虚拟环境下安装labelImg时遇到的两个主要错误及其解决方法:libGL报错和xcb插件报错,解决方法包括安装libGL库和补齐Qt5的xcb依赖项,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • 本地使用docker打包部署镜像的方法

    本地使用docker打包部署镜像的方法

    这篇文章主要介绍了本地使用docker打包部署镜像的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Linux新建用户并允许docker及docker基本命令

    Linux新建用户并允许docker及docker基本命令

    这篇文章给大家介绍了Linux新建用户并允许docker及docker的容器创建及基本命令讲解,需要的朋友参考下本文吧
    2017-12-12
  • 在Docker中利用Tomcat快速部署web应用的方法示例

    在Docker中利用Tomcat快速部署web应用的方法示例

    这篇文章我们就来说一下怎么在docker中快速部署一个web应用。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • 如何解决docker logs无法实时输出脚本打印的内容

    如何解决docker logs无法实时输出脚本打印的内容

    这篇文章主要介绍了如何解决docker logs无法实时输出脚本打印的内容问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Docker swarm集群部署过程详解(包含compose.yml文件详情)

    Docker swarm集群部署过程详解(包含compose.yml文件详情)

    Docker Swarm是Docker的集群管理工具,支持服务部署、副本调度、Stack管理(基于Compose文件),包含初始化集群、节点添加、服务更新、资源清理等操作,确保容器化应用的高效运行,本文给大家介绍Docker swarm集群部署包含compose.yml文件详情,感兴趣的朋友一起看看吧
    2025-07-07

最新评论