Docker Compose启动多个镜像实例

news/2025/9/25 16:08:02/文章来源:https://www.cnblogs.com/springcoming/p/19111390

1. Docker Compose 基础概念

  • Docker Compose 是一个工具,用 YAML 文件定义和运行 多容器 Docker 应用

  • 核心文件:docker-compose.yml

  • 通过一个命令可以启动、停止、管理整个应用,而不必一个一个容器操作。

Compose 文件结构

version: "3"   # Compose 文件版本
services:      # 定义多个服务(容器)web:image: nginx:latestports:- "8080:80"app:build: ./myappenvironment:- CONFIG_PATH=/app/configvolumes:- ./config:/app/config
  • services → 每个服务对应一个容器

  • build → 从 Dockerfile 构建镜像

  • image → 直接使用已有镜像

  • ports → 容器端口映射

  • volumes → 挂载宿主机目录到容器

  • environment → 容器环境变量


2. 常用 Docker Compose 命令

命令 说明
docker-compose up 启动所有服务(前台)
docker-compose up -d 后台启动所有服务
docker-compose down 停止并删除容器、网络、卷
docker-compose ps 查看服务运行状态
docker-compose logs 查看日志
docker-compose build 重新构建镜像
docker-compose exec <service> bash 进入服务容器交互式调试

3. 示例:管理多个 openatc容器,每个用不同配置,并设置不同的IP地址

假设有 3 个配置文件夹 config_1 ~ config_10

docker-compose.yml

services:openatc1:image: openatc:x86_64container_name: openatc1volumes:- ./config/config1:/app/confignetworks:macvlan_net:ipv4_address: 192.168.15.200openatc2:image: openatc:x86_64container_name: openatc2volumes:- ./config/config2:/app/confignetworks:macvlan_net:ipv4_address: 192.168.15.201openatc3:image: openatc:x86_64container_name: openatc3volumes:- ./config/config3:/app/confignetworks:macvlan_net:ipv4_address: 192.168.15.202networks:macvlan_net:driver: macvlandriver_opts:parent: enp1s0      # 替换为宿主机真实网卡ipam:config:- subnet: 192.168.15.0/24gateway: 192.168.15.1
  • 每个服务挂载不同配置目录

  • 容器名唯一,便于管理

  • 启动时,每个容器会运行 openatc,各自使用自己配置

  • 使用Docker network给每个实例分配固定的ip地址

启动所有服务

docker-compose up -d

查看状态

docker-compose ps

查看日志

docker-compose logs -f

4. 扩展:用 replicas 批量启动

如果你希望多个相同服务(同镜像):

version: "3.8"
services:myapp:image: myappdeploy:replicas: 10volumes:- ./config:/app/config

⚠️ deploy.replicas 只在 Docker Swarm 模式 下生效
如果用普通 Compose,可以通过写多个服务或者使用 docker-compose up --scale myapp=10 扩展


5. 优点

  1. 集中管理:一条命令管理多个容器

  2. 环境隔离:每个服务有自己的容器、配置和挂载卷

  3. 可扩展性:可通过 scalereplicas 快速扩容

  4. 便于开发和部署:开发环境和生产环境一致


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

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

相关文章

深入解析:⸢ 伍-Ⅱ⸥ ⤳ 默认安全治理实践:水平越权检测 前端安全防控

深入解析:⸢ 伍-Ⅱ⸥ ⤳ 默认安全治理实践:水平越权检测 & 前端安全防控pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fa…

实用指南:在 CentOS 中安装 MySQL

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

卫星时间同步平台:助力分布式测控系统同步工作

卫星时间同步平台:助力分布式测控系统同步工作pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

mkfx 对磁盘设置标签

mkfs.xfs -i size=512 -n ftype=1 -L RUSTFS0 /dev/sdb -L <label>: 为文件系统设置一个标签(label),方便后续识别和挂载。-i size=512: RustFS官方推荐将inode大小设置为512字节,这对于存储大量小对象(元…

河南网站设计价格阿里云服务器学生

1. 为什么要使用框架 Spring是一个轻量级Java开发框架&#xff0c;最早有Rod Johnson创建&#xff0c;目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。 几乎当下所有企业级JavaEE开发都离不开SSM&#xff08;Spring SpringMVC MyBatis&#xff09;Spring B…

C# Avalonia 15- Animation- Easing

C# Avalonia 15- Animation- EasingEasing.axaml代码<Window xmlns="https://github.com/avaloniaui"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.m…

安卓编译重点记录

Ubuntu18.04编译安卓11详细步骤 在 Ubuntu 18.04 上编译 Android 11 的详细步骤 以下是为 ​Ubuntu 18.04 环境编译 ​Android 11(AOSP)​ 的完整指南,涵盖环境配置、源码下载、编译及常见问题解决。 ​1. 系统要求…

kubelet源码阅读(二)——device plugin 的ListAndWatch过程

从kubelet运行到plugin注册过程 kubernetes-master/pkg/kubelet/kubelet.go1 func (kl *Kubelet) Run(updates <-chan kubetypes.PodUpdate) {2 // ...3 go wait.Until(kl.updateRuntimeUp, 5*time.Second,…

最新网站制作公司哪个好各大网站搜索引擎提交入口

同事电话询问Linux下一个集群内2个主机前后2天相继无响应&#xff0c;表现状况为ping都没响应。因为没任何监控或其他性能数据&#xff0c;故需要获取历史OS性能数据。我们知道rhel5,6下默认可以通过sar命令查看OS历史信息&#xff0c;故执行sar即可看到当天的数据。[rootora11…

网站上的充值链接怎么做的公众号开发者多次群发

《Windows Azure Platform 系列文章目录》 在Windows Azure平台中&#xff0c;用户最多可以对以个Role指定5个Endpoint。而一个Hosted Service最多允许包含5个Role,所以说在一个Hosted Service中用户最多能定义25个Endpoint。 而对于每一个Endpoint&#xff0c;使用者需要设定如…

CyberLink ColorDirector Ultra 2026 14.0.5712.0 视频后期调色

CyberLink ColorDirector 是由中国台湾讯连科技(CyberLink)开发的专业创意视频后期着色软件,核心目标是帮助用户高效改进并增强视频色彩表现。无论是基础的颜色校正、色调调整,还是进阶的视频动态对象局部色彩优化…

CF 1053 Div.2

E. Limited Edition Shop 经过一些简单转化,要解决的是如下问题:二维平面上有 \(n\) 个点,点有点权。\(n\) 个点横坐标、纵坐标都是 \(1\sim n\) 的排列。要求选择若干点,满足它们右下角区域的并集中的点点权和最大…

haproxy负载均衡 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

​​[硬件电路-320]:模拟电路与数字电路,两者均使用晶体管(如BJT、MOSFET),但模拟电路利用其线性区,数字电路利用其开关特性。 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

现在网站开发用什么语言seo快速排名分析

第1题功能&#xff1a;将十进制数转换成十六进制数。第2题功能&#xff1a;删除字符串中的指定字符&#xff0c;字符串和要删除的字符均由键盘输入。第3题功能&#xff1a;以下程序是用选择法对10个整数按升序排序。第4题功能&#xff1a;以下程序的功能如(图1)。第5题功能&…

豆油

8250上下10块钱做空 目标新低7900附近

源码安装fail2ban

源码安装fail2ban碎碎念: 这几天早上都比较凉爽,甚至有一丝凉意,到了中午下午太阳出来,还有些许燥热。下班后,抬头只见蓝天白云,天上的云朵像棉花糖一样铺了几朵,余晖落在身上,有种温暖舒适的感觉,这一刻尽情…

高效 PDF 处理利器:PDF-XChange Editor v10.7.3.401 特性解析与优化版分享

高效 PDF 处理利器:PDF-XChange Editor v10.7.3.401 特性解析与优化版分享2025-09-25 15:49 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x:…

类的继承与继承的覆盖

# 继承 class F:def __init__(self):self.info = "hello Father"def fun1(self):return self.infoclass S(F):passf = F() s = S()print(f.fun1()) # hello Father print(s.fun1()) # hello Father# 继承的…

内网网站建设所需硬件设备wordpress上的php技术

**单片机设计介绍&#xff0c;1653基于STM32的多功能智能密码锁控制设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序文档 六、 文章目录 一 概要 基于STM32的多功能智能密码锁控制设计是一种用STM32微控制器开发的系统&#xff0c;用于控制和管理密码…