5_docker-compose多服务统一编排管理

news2025/1/19 3:20:48

系列文章目录

第1章 Linux安装Docker
第2章 Docker安装jdk1.8和MySql
第3章 Docker安装redis
第4章 Jar包部署Docker
第5章 Docker-compose多服务统一编排管理
第6章 AccessKeyId和AccessKeySecret的环境变量配置

文章目录

  • 系列文章目录
    • 前言
  • 一、编写docker-compose.yml
  • 二、上传docker-compose.yml到服务器
  • 三、启动所有编排的服务
  • 四、其它相关指令

前言

单独运行容器有很多问题,比如:

  1. 先后顺序要求固定
  2. 多个run命令,操作繁琐
  3. 容器间的启停或宕机,有可能导致IP地址对应的容器实例变化,映射出错。要么生产IP写死(可以但是不推荐),要么通过服务调用

解决方法:使用compose服务编排,一个配置文件,一条指令管理所有服务。

一、编写docker-compose.yml

参考前面章节,确保相关服务已经存在或生成镜像。

version: "3"

services:
  frontend:
    image: 镜像名:版本号
    networks:
      - feedback_net
  nginx:
    image: nginx:latest
    container_name: nginx-feedback
    environment:
      # 时区上海
      TZ: Asia/Shanghai
    restart: always
    volumes:
      # 证书映射
      - /data/front/cert:/etc/nginx/cert
      # 配置文件映射
      - /data/front/conf/nginx.conf:/etc/nginx/nginx.conf
      # 日志目录
      - /data/front/log:/var/log/nginx
    ports:
      - "xxx:xxx"
    networks:
      - feedback_net
    logging:
      driver: none

  backends:
    image: feedback-collection-backend:latest
    container_name: feedback
    ports:
      - "xxxx:xxxx"
    restart: always
    volumes:
      - /data/feedbackService:/data
    networks:
      - feedback_net
    depends_on:
      - redis
      - mysql

  redis:
    image: redis:latest
    container_name: redis-feedback
    ports:
      - "6379:6379"
    restart: always
    volumes:
      - /data/redis/conf/redis.conf:/etc/redis/redis.conf
      - /data/redis/data:/data
    networks:
      - feedback_net
    command: redis-server /etc/redis/redis.conf

  mysql:
    image: mysql:5.7
    container_name: mysql-feedback
    environment:
      MYSQL_ROOT_PASSWORD: 'xxxxxxxx'
      MYSQL_ALLOW_EMPTY_PASSWORD: 'no'
      MYSQL_DATABASE: 'xxxxxx'
      MYSQL_USER: 'xxxxxx'
      MYSQL_PASSWORD: 'xxxxxxxxx'
    ports:
      - "3306:3306"
    restart: always
    volumes:
      - /data/mysql/log:/var/log/mysql
      - /data/mysql/data:/var/lib/mysql
      - /data/mysql/conf:/etc/mysql
      - /data/mysql/backup:/var/backups
    networks:
      - feedback_net
    command: --default-authentication-plugin=mysql_native_password #解决外部无法访问

networks:
  feedback_net:


二、上传docker-compose.yml到服务器

使用filezilla.exe或其它工具,上传文件到服务器相关目录,比如/data/docker。
或者在/data/docker新建docker-compose.yml文件:

sudo touch docker-compose.yml
#粘贴内容
#保存并退出:`Esc键+:wq`

三、启动所有编排的服务

前台直接启动:sudo docker-compose up ,可以查看日志
启动所有docker-compose服务并后台运行:sudo docker-compose up -d
在这里插入图片描述
服务启动完成!

四、其它相关指令

  1. docker-compose -h # 查看帮助
  2. docker-compose down # 停止并删除容器、网络、卷、镜像。
  3. docker-compose exec yml里面的服务id # 进入容器实例内部 docker-compose exec docker-compose.yml文件中写的服务id /bin/bash
  4. docker-compose ps # 展示当前docker-compose编排过的运行的所有容器
  5. docker-compose top # 展示当前docker-compose编排过的容器进程
  6. docker-compose logs yml里面的服务id # 查看容器输出日志
  7. dokcer-compose config # 检查配置
  8. dokcer-compose config -q # 检查配置,有问题才有输出
  9. docker-compose restart # 重启服务
  10. docker-compose start # 启动服务
  11. docker-compose stop # 停止服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/884496.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何控制项目范围?

大家好,我是沐尘而生,今天让我和大家一起走进,产品经理实战百问百答,从问题入手,一步一个脚印,习惯产品经理岗位。如有错误或不当之处,请指正,谢谢! 1. 项目范围与项目成…

Ae 效果:CC Cylinder

透视/CC Cylinder Perspective/CC Environment CC Cylinder(CC 圆柱体)效果可将图层映射到受光照的圆柱体上,支持 Alpha 通道,圆柱体可呈镂空状。 要注意,虽然本效果可生成一个非常生动的 3D 圆柱体外观,但…

PyQt6安装教程

目录 1、安装PyQt6和pyqt6-tools 2、在Pycharm里配置Qt Designer 3、配置Pyuic工具 4、配置Pyrcc工具 5、三个工具的作用 1、安装PyQt6和pyqt6-tools pip install PyQt6 -i https://pypi.tuna.tsinghua.edu.cn/simple pip install PyQt6-tools -i https://pypi.tuna.tsin…

CloudCompare进行点云数据样本标注

1.下载安装CloudCompare。 2.打开点云数据,鼠标左键用于旋转数据,鼠标右键用于平移数据,滚轮调整数据大小远近。 3.点击选中左侧数据,点击“剪刀”工具。 4.框选目标对象进行裁剪。 5.先后点击“五边形”和“对号”。 6.完成第…

山西电力市场日前价格预测【2023-08-16】

日前价格预测 预测明日(2023-08-16)山西电力市场全天平均日前电价为363.90元/MWh。其中,最高日前电价为430.17元/MWh,预计出现在19: 30。最低日前电价为318.33元/MWh,预计出现在13: 00。 价差方向预测 1: 实…

从数据到价值:数据中台如何加速数字化转型?

在当今数字化时代,数据已经成为企业成功的关键因素之一。企业不再只是生产产品或提供服务,而是需要从大量的数据中获取洞察,优化运营并创造价值。在这个背景下,数据中台成为了加速数字化转型的重要策略之一。本文将深入探讨数据中…

MAUI+Masa Blazor APP 各大商店新手发布指南(一)App Store篇

文章目录 前言新手常见审核意见Guideline 2.1 - Information NeededGuideline 3.2 - BusinessGuideline 2.1 - Performance - App CompletenessGuideline 2.3.8 - Performance - Accurate MetadataGuideline 5.1.1(v) - Data Collection and StorageGuideline 4.2 - Design - M…

使用Python统计字符内容的占比

说明:如果有自己动手做过字符动画,会知道字符动画的“灵动性”核心在于使用的字符集。 简单来说,动画转为字符动画,原理是将动画转为灰阶图,灰度范围是0~255,然后将对应灰度的像素点转为对应比值的字符。这…

【数据结构OJ题】链表的中间结点

原题链接:https://leetcode.cn/problems/middle-of-the-linked-list/description/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 快慢指针法 通过快慢指针找到中间结点,快指针每次走两步,慢指针每次走一步&#…

ignition gazebo || 解决ignition gazebo启动后所有图标都是黑方块的问题

问题: 启动ignition gazebo出现图表全黑的情况 ign gazebo 解决方案 sudo apt install aptitude aptitude是一款针对debian系系统的系统依赖管理更加有效的包管理工具。我建议以后都使用aptitude进行包管理。 下面正式开始解决问题。 出现这个问题毫无疑问是qt…

java的类和对象详解

一、java是面向对象的编程语言 首先一般的编程语言有两种,一种是面向对象,一种是面向过程。前者更加关注代码中对象与对象之间关系与协作,而后者更加注重代码的执行过程。 举个例子 传统的方式:注重的是洗衣服的过程,…

BUUCTF [CISCN2019 华东南赛区]Web11

分析 上面可以看出这是Smarty模板引擎 看到这个ip我们应该想到使用X-Forwarded-For字段 X-Forwarded-For 是一个 HTTP 扩展头部,用来描述请求者的ip 如果后端认为这个是我们的真实ip并使用Smarty来回显那么就可能造成了SSTI 当我们设置了 X-Forwarded-For: {{11}}时…

【EI/SCOPUS检索】2023年第二届光学成像与测量国际会议 (ICOIM2023)

2023年第二届光学成像与量国际会议 (ICOIM2023) 2023 2nd International Conference on Optical Imaging and Measurement 光学成像与测量密切相关且具有广泛的应用,如显微镜、望远镜、传感器等。通常,成像是测量的基础&#xf…

Python - 多线程,多进程中的join和Event及没有使用join和event区别

一. 前言 在Python的多线程和多进程编程中,join() 和 Event 都是用来控制线程或进程之间的同步关系的工具,它们的作用类似,但还是有一些区别。 二. 概念 1. join() join() 方法是线程或进程实例的一个方法,用于阻塞当前调用线…

6. 自定义异常 全局异常处理 测试异常处理

目录 1. 自定义异常 2. 全局异常处理 3. 测试异常处理 1. 自定义异常 创建⼀个异常类,加入状态码与状态描述属性。 凡是业务代码中出现的可预期的异常,统一抛出 ApplicationException public class ApplicationException extends RuntimeException{//…

[Java优选系列第1弹]如何优化Java三层架构开发效率?三个实用技巧分享

💞优选系列制作漫长,每篇一经写出不再创作,均是呕心沥血制作,且看且珍惜💫 一直在等你,你终于来啦💖 绿色代表解释说明 黄色代表重点 红色代表精髓 Java三层架构…

qt 安 装

之后版本都是在线安装 下载地址 Index of /archive/online_installers 只用这三个即可,其他不用管默认

操作系统-笔记-第一章-操作系统的概念

目录 一、第一章——操作系统的概念 1、操作系统的概念、功能 (1)层次 (2)总结 2、操作系统的特征(4个) (1)并发与并行 (2)共享与互斥 (3…

【网络基础实战之路】基于MPLS-VPN技术实现两个私网间互通的实战详解

系列文章传送门: 【网络基础实战之路】设计网络划分的实战详解 【网络基础实战之路】一文弄懂TCP的三次握手与四次断开 【网络基础实战之路】基于MGRE多点协议的实战详解 【网络基础实战之路】基于OSPF协议建立两个MGRE网络的实验详解 【网络基础实战之路】基于…