Docker一次查看多个容器日志的方法步骤

 更新时间:2026年07月06日 08:41:52   作者:爱码少年 00fly.online  
docker本身并不提供查看多个容器日志的方法,但是我们却可以利用docker scale 命令,对服务作水平扩容,这样多个服务使用的是同一的服务名,所以本文给大家介绍了Docker如何一次查看多个容器日志
,需要的朋友可以参考下

一,简要概述

docker本身并不提供查看多个容器日志的方法,但是我们却可以利用docker scale 命令,对服务作水平扩容,这样多个服务使用的是同一的服务名。从而借助docker compose logs 命令来查看这批服务的日志。

二,操作步骤

在安装了dockerdocker compose的lunix服务器上,创建编排文件和扩容脚本。

1, 编排文件

docker-compose.yml

services:
  database-lock:
    image: registry.cn-shanghai.aliyuncs.com/00fly/database-lock:1.0.0
    deploy:
      resources:
        limits:
          cpus: '2.0'
          memory: 200M
        reservations:
          cpus: '2.0'
          memory: 200M
    environment:
      SPRING_PROFILES_ACTIVE: prod
      SPRING_DATASOURCE_URL: jdbc:h2:tcp://h2-server/mem:test;database_to_upper=false
      SPRING_DATASOURCE_DRIVERCLASSNAME: org.h2.Driver
      SPRING_DATASOURCE_USERNAME: sa
      SPRING_DATASOURCE_PASSWORD: 
    restart: on-failure
    logging:
      driver: json-file
      options:
        max-size: 5m
        max-file: '1'
  h2-server:
    image: registry.cn-shanghai.aliyuncs.com/00fly/h2:1.4.200
    deploy:
      resources:
        limits:
          cpus: '2.0'
          memory: 64M
        reservations:
          cpus: '2.0'
          memory: 64M
    restart: on-failure
    logging:
      driver: json-file
      options:
        max-size: 5m
        max-file: '1'

2, 水平扩容脚本

scale-lock.sh

#!/bin/bash
docker compose --compatibility up -d --scale database-lock=3

3, 运行效果

执行以下脚本,启动服务

sh scale-lock.sh

docker ps

输出如下

 
[root@00fly scale]# sh scale-lock.sh 
[+] Running 5/5
 ✔ Network scale_default            Created                                                                                                                                                                   0.2s 
 ✔ Container scale_database-lock_3  Started                                                                                                                                                                   2.1s 
 ✔ Container scale_h2-server_1      Started                                                                                                                                                                   0.7s 
 ✔ Container scale_database-lock_1  Started                                                                                                                                                                   1.4s 
 ✔ Container scale_database-lock_2  Started                                                                                                                                                                   0.8s 
[root@00fly scale]# docker ps 
CONTAINER ID   IMAGE                                                         COMMAND                   CREATED          STATUS          PORTS     NAMES
8b4dd9e1f3d3   registry.cn-shanghai.aliyuncs.com/00fly/database-lock:1.0.0   "java -Djava.securit…"   13 seconds ago   Up 12 seconds             scale_database-lock_2
9459a57b39e2   registry.cn-shanghai.aliyuncs.com/00fly/h2:1.4.200            "java -Djava.securit…"   13 seconds ago   Up 12 seconds             scale_h2-server_1
02f443bd0785   registry.cn-shanghai.aliyuncs.com/00fly/database-lock:1.0.0   "java -Djava.securit…"   13 seconds ago   Up 11 seconds             scale_database-lock_1
6e156442843a   registry.cn-shanghai.aliyuncs.com/00fly/database-lock:1.0.0   "java -Djava.securit…"   13 seconds ago   Up 10 seconds             scale_database-lock_3

4, 查看多个容器日志

docker compose logs -f <服务名>

docker compose logs -f database-lock

输出如下

scale_database-lock_1  | 2026-07-03 15:32:47.332 INFO [main] c.f.BootApplication         : Starting BootApplication v1.0.0 on 02f443bd0785 with PID 1 (/app.jar started by root in /)
scale_database-lock_1  | 2026-07-03 15:32:47.340 INFO [main] c.f.BootApplication         : The following profiles are active: prod
scale_database-lock_1  | 2026-07-03 15:32:50.437 INFO [main] c.f.s.l.DataBaseLock        : init...
scale_database-lock_1  | 2026-07-03 15:32:50.609 INFO [main] c.f.c.u.SpringContextUtils  : ###### execute setApplicationContext ######
scale_database-lock_1  | 2026-07-03 15:32:50.902 INFO [main] c.f.BootApplication         : Started BootApplication in 4.794 seconds (JVM running for 8.648)
scale_database-lock_1  | 2026-07-03 15:32:50.907 INFO [main] c.f.BootApplication         : ##### JDBC URL: jdbc:h2:tcp://h2-server/mem:test;database_to_upper=false
scale_database-lock_1  | 2026-07-03 15:32:50.907 INFO [main] c.f.BootApplication         : ##### JDBC Driver: org.h2.Driver
scale_database-lock_1  | 2026-07-03 15:33:00.104 INFO [schedule-pool-1] c.f.s.j.ScheduleJob         : [MUO] 没抢到,骂骂咧咧的走了......
scale_database-lock_1  | 2026-07-03 15:33:05.123 INFO [pool-3-thread-1] c.f.s.a.RefreshAspect       : ##### version: 1
scale_database-lock_1  | 2026-07-03 15:33:30.007 INFO [schedule-pool-1] c.f.s.j.ScheduleJob         : [MUO] 没抢到,骂骂咧咧的走了......
scale_database-lock_1  | 2026-07-03 15:33:35.009 INFO [pool-3-thread-2] c.f.s.a.RefreshAspect       : ##### version: 2
scale_database-lock_1  | 2026-07-03 15:34:00.008 INFO [schedule-pool-2] c.f.s.j.ScheduleJob         : [MUO] 没抢到,骂骂咧咧的走了......
scale_database-lock_1  | 2026-07-03 15:34:05.010 INFO [pool-3-thread-1] c.f.s.a.RefreshAspect       : ##### version: 3
scale_database-lock_1  | 2026-07-03 15:34:30.009 INFO [schedule-pool-1] c.f.s.j.ScheduleJob         : [MUO] 没抢到,骂骂咧咧的走了......
scale_database-lock_1  | 2026-07-03 15:34:35.017 INFO [pool-3-thread-2] c.f.s.a.RefreshAspect       : ##### version: 4
scale_database-lock_3  | 2026-07-03 15:32:51.720 INFO [main] c.f.BootApplication         : Started BootApplication in 4.663 seconds (JVM running for 8.687)
scale_database-lock_3  | 2026-07-03 15:32:51.725 INFO [main] c.f.BootApplication         : ##### JDBC URL: jdbc:h2:tcp://h2-server/mem:test;database_to_upper=false
scale_database-lock_3  | 2026-07-03 15:32:51.726 INFO [main] c.f.BootApplication         : ##### JDBC Driver: org.h2.Driver
scale_database-lock_3  | 2026-07-03 15:33:00.142 INFO [schedule-pool-1] c.f.s.j.ScheduleJob         : [ykc] 没抢到,骂骂咧咧的走了......
scale_database-lock_3  | 2026-07-03 15:33:05.157 INFO [pool-3-thread-1] c.f.s.a.RefreshAspect       : ##### version: 1
scale_database-lock_3  | 2026-07-03 15:33:30.007 INFO [schedule-pool-1] c.f.s.j.ScheduleJob         : [ykc] 没抢到,骂骂咧咧的走了......
scale_database-lock_3  | 2026-07-03 15:33:35.009 INFO [pool-3-thread-1] c.f.s.a.RefreshAspect       : ##### version: 2
scale_database-lock_3  | 2026-07-03 15:34:00.006 INFO [schedule-pool-1] c.f.s.j.ScheduleJob         : [ykc] #### hello world ***********
scale_database-lock_3  | 2026-07-03 15:34:05.010 INFO [pool-3-thread-2] c.f.s.a.RefreshAspect       : ##### version: 3
scale_database-lock_3  | 2026-07-03 15:34:30.006 INFO [schedule-pool-1] c.f.s.j.ScheduleJob         : [ykc] #### hello world ***********
scale_database-lock_3  | 2026-07-03 15:34:35.015 INFO [pool-3-thread-1] c.f.s.a.RefreshAspect       : ##### version: 4
scale_database-lock_3  | 2026-07-03 15:35:00.011 INFO [schedule-pool-2] c.f.s.j.ScheduleJob         : [ykc] 没抢到,骂骂咧咧的走了......
scale_database-lock_2  | 2026-07-03 15:35:00.008 INFO [schedule-pool-1] c.f.s.j.ScheduleJob         : [riF] 没抢到,骂骂咧咧的走了......
scale_database-lock_1  | 2026-07-03 15:35:00.007 INFO [schedule-pool-3] c.f.s.j.ScheduleJob         : [MUO] #### hello world ***********
scale_database-lock_2  | 2026-07-03 15:35:05.011 INFO [pool-3-thread-1] c.f.s.a.RefreshAspect       : ##### version: 5
scale_database-lock_3  | 2026-07-03 15:35:05.014 INFO [pool-3-thread-2] c.f.s.a.RefreshAspect       : ##### version: 5
scale_database-lock_1  | 2026-07-03 15:35:05.019 INFO [pool-3-thread-1] c.f.s.a.RefreshAspect       : ##### version: 5
scale_database-lock_2  | 2026-07-03 15:35:30.003 INFO [schedule-pool-2] c.f.s.j.ScheduleJob         : [riF] #### hello world ***********
scale_database-lock_3  | 2026-07-03 15:35:30.005 INFO [schedule-pool-3] c.f.s.j.ScheduleJob         : [ykc] 没抢到,骂骂咧咧的走了......
scale_database-lock_1  | 2026-07-03 15:35:30.005 INFO [schedule-pool-2] c.f.s.j.ScheduleJob         : [MUO] 没抢到,骂骂咧咧的走了......
scale_database-lock_2  | 2026-07-03 15:35:35.006 INFO [pool-3-thread-2] c.f.s.a.RefreshAspect       : ##### version: 6
scale_database-lock_3  | 2026-07-03 15:35:35.018 INFO [pool-3-thread-1] c.f.s.a.RefreshAspect       : ##### version: 6
scale_database-lock_1  | 2026-07-03 15:35:35.014 INFO [pool-3-thread-2] c.f.s.a.RefreshAspect       : ##### version: 6
scale_database-lock_3  | 2026-07-03 15:36:00.015 INFO [schedule-pool-3] c.f.s.j.ScheduleJob         : [ykc] #### hello world ***********
scale_database-lock_1  | 2026-07-03 15:36:00.020 INFO [schedule-pool-2] c.f.s.j.ScheduleJob         : [MUO] 没抢到,骂骂咧咧的走了......
scale_database-lock_2  | 2026-07-03 15:36:00.014 INFO [schedule-pool-2] c.f.s.j.ScheduleJob         : [riF] 没抢到,骂骂咧咧的走了......
scale_database-lock_3  | 2026-07-03 15:36:05.020 INFO [pool-3-thread-2] c.f.s.a.RefreshAspect       : ##### version: 7
scale_database-lock_2  | 2026-07-03 15:36:05.020 INFO [pool-3-thread-1] c.f.s.a.RefreshAspect       : ##### version: 7
scale_database-lock_1  | 2026-07-03 15:36:05.031 INFO [pool-3-thread-1] c.f.s.a.RefreshAspect       : ##### version: 7

大功告成!!!

到此这篇关于Docker一次查看多个容器日志的方法步骤的文章就介绍到这了,更多相关Docker一次查看多个容器日志内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker中的容器文件拷贝及目录挂载方式

    Docker中的容器文件拷贝及目录挂载方式

    这篇文章主要介绍了Docker中的容器文件拷贝及目录挂载方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Docker搭建RabbitMQ集群的方法步骤

    Docker搭建RabbitMQ集群的方法步骤

    本文主要介绍了Docker搭建RabbitMQ集群的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 详解Docker中VLAN网络模式的配置

    详解Docker中VLAN网络模式的配置

    在Docker应用到生产环境的时候包括了原生Bridge NAT模式、LinuxBridge VLAN模式以及利用第三方的网络方案这三种,这篇文章给大家详细介绍了Docker中VLAN网络模式的配置,有需要的朋友们下面来一起看看吧。
    2016-10-10
  • 三台机器使用Docker部署Redis集群方式

    三台机器使用Docker部署Redis集群方式

    这篇文章主要介绍了三台机器使用Docker部署Redis集群方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 修改docker网桥网段范围实现方式

    修改docker网桥网段范围实现方式

    文章介绍了如何修改Docker默认的172.17.0.0/16网桥网段,以避免与局域网冲突,提供了两种方法:一种是修改Docker配置文件并重启服务,另一种是创建自定义网络并指定子网范围,同时,还提到了一些参考命令,如查看docker0网桥信息和删除docker0网桥
    2025-12-12
  • Docker+Watchtower实现容器自动更新的终极方案

    Docker+Watchtower实现容器自动更新的终极方案

    在容器化应用日益普及的今天,如何高效管理容器更新成为了每个 DevOps 工程师和开发者的必修课,下面我们就来看看如何使用 Watchtower 这一神器来实现 Docker 容器的自动更新吧
    2025-05-05
  • Docker网络代理设置详解

    Docker网络代理设置详解

    在一些实验室环境,服务器没有直接连接外网的权限,需要通过网络代理。本篇文章主要介绍了Docker网络代理设置详解,有兴趣的可以了解一下。
    2017-02-02
  • 利用Docker Compose部署多容器LNMP环境的实战步骤

    利用Docker Compose部署多容器LNMP环境的实战步骤

    本次实战通过Docker Compose成功构建了完整的LNMP(Nginx + MySQL + PHP-FPM)开发环境,通过自定义PHP-FPM镜像安装MySQL扩展,配置 Nginx 反向代理 PHP 请求,本文介绍的非常详细,感兴趣的朋友一起看看吧
    2025-12-12
  • 完美解决Windows下Docker Desktop 启动失败:从虚拟化报错到成功运行的全流程

    完美解决Windows下Docker Desktop 启动失败:从虚拟化报错到成功运行的全流程

    文章详细介绍了在Windows上启动Docker Desktop时遇到「Virtualization support not detected」和500内部服务器错误的解决过程,涵盖了硬件层面和软件层面的排查和解决方法,感兴趣的朋友跟随小编一起看看吧
    2026-03-03
  • docker容器如何指定utf-8编码

    docker容器如何指定utf-8编码

    这篇文章主要介绍了docker容器如何指定utf-8编码问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06

最新评论