Docker一次查看多个容器日志的方法步骤
作者:爱码少年 00fly.online
docker本身并不提供查看多个容器日志的方法,但是我们却可以利用docker scale 命令,对服务作水平扩容,这样多个服务使用的是同一的服务名,所以本文给大家介绍了Docker如何一次查看多个容器日志
,需要的朋友可以参考下
,需要的朋友可以参考下
一,简要概述
docker本身并不提供查看多个容器日志的方法,但是我们却可以利用docker scale 命令,对服务作水平扩容,这样多个服务使用的是同一的服务名。从而借助docker compose logs 命令来查看这批服务的日志。
二,操作步骤
在安装了docker和docker 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一次查看多个容器日志内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
