文章目录
- 一,简要概述
- 二,操作步骤
- 1, 编排文件
- 2, 水平扩容脚本
- 3, 运行效果
- 4, 查看多个容器日志
一,简要概述
docker本身并不提供查看多个容器日志的方法,但是我们却可以利用docker scale 命令,对服务作水平扩容,这样多个服务使用的是同一的服务名。从而借助docker compose logs 命令来查看这批服务的日志。
二,操作步骤
在安装了docker和docker compose的lunix服务器上,创建编排文件和扩容脚本。
1, 编排文件
docker-compose.yml
services:h2-lock:image:registry.cn-shanghai.aliyuncs.com/00fly/database-lock:1.0.0deploy:resources:limits:cpus:'2.0'memory:200Mreservations:cpus:'2.0'memory:200Menvironment:SPRING_PROFILES_ACTIVE:prodSPRING_DATASOURCE_URL:jdbc:h2:tcp://h2-server/mem:test;database_to_upper=falseSPRING_DATASOURCE_DRIVERCLASSNAME:org.h2.DriverSPRING_DATASOURCE_USERNAME:saSPRING_DATASOURCE_PASSWORD:restart:on-failurelogging:driver:json-fileoptions:max-size:5mmax-file:'1'h2-server:image:registry.cn-shanghai.aliyuncs.com/00fly/h2:1.4.200deploy:resources:limits:cpus:'2.0'memory:64Mreservations:cpus:'2.0'memory:64Mrestart:on-failurelogging:driver:json-fileoptions:max-size:5mmax-file:'1'2, 水平扩容脚本
scale-lock.sh
#!/bin/bashdockercompose--compatibilityup-d--scaleh2-lock=33, 运行效果
执行以下脚本,启动服务
shscale-lock.shdockerps输出如下
[root@00fly scale]# sh scale-lock.sh[+]Running5/5 ✔ Network scale_default Created0.2s ✔ Container scale_h2-lock_3 Started2.1s ✔ Container scale_h2-server_1 Started0.7s ✔ Container scale_h2-lock_1 Started1.4s ✔ Container scale_h2-lock_2 Started0.8s[root@00fly scale]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8b4dd9e1f3d3 registry.cn-shanghai.aliyuncs.com/00fly/database-lock:1.0.0"java -Djava.securit…"13seconds ago Up12seconds scale_h2-lock_2 9459a57b39e2 registry.cn-shanghai.aliyuncs.com/00fly/h2:1.4.200"java -Djava.securit…"13seconds ago Up12seconds scale_h2-server_1 02f443bd0785 registry.cn-shanghai.aliyuncs.com/00fly/database-lock:1.0.0"java -Djava.securit…"13seconds ago Up11seconds scale_h2-lock_1 6e156442843a registry.cn-shanghai.aliyuncs.com/00fly/database-lock:1.0.0"java -Djava.securit…"13seconds ago Up10seconds scale_h2-lock_34, 查看多个容器日志
docker compose logs -f <服务名>
dockercompose logs-fh2-lock输出如下
scale_h2-lock_1|2026-07-0315:32:47.332 INFO[main]c.f.BootApplication:Starting BootApplication v1.0.0 on 02f443bd0785 with PID1(/app.jar started by rootin/)scale_h2-lock_1|2026-07-0315:32:47.340 INFO[main]c.f.BootApplication:The following profiles are active: prod scale_h2-lock_1|2026-07-0315:32:50.437 INFO[main]c.f.s.l.DataBaseLock:init... scale_h2-lock_1|2026-07-0315:32:50.609 INFO[main]c.f.c.u.SpringContextUtils:###### execute setApplicationContext ######scale_h2-lock_1|2026-07-0315:32:50.902 INFO[main]c.f.BootApplication:Started BootApplicationin4.794seconds(JVM runningfor8.648)scale_h2-lock_1|2026-07-0315:32:50.907 INFO[main]c.f.BootApplication:##### JDBC URL: jdbc:h2:tcp://h2-server/mem:test;database_to_upper=falsescale_h2-lock_1|2026-07-0315:32:50.907 INFO[main]c.f.BootApplication:##### JDBC Driver: org.h2.Driverscale_h2-lock_1|2026-07-0315:33:00.104 INFO[schedule-pool-1]c.f.s.j.ScheduleJob:[MUO]没抢到,骂骂咧咧的走了......scale_h2-lock_1|2026-07-0315:33:05.123 INFO[pool-3-thread-1]c.f.s.a.RefreshAspect:##### version: 1scale_h2-lock_1|2026-07-0315:33:30.007 INFO[schedule-pool-1]c.f.s.j.ScheduleJob:[MUO]没抢到,骂骂咧咧的走了......scale_h2-lock_1|2026-07-0315:33:35.009 INFO[pool-3-thread-2]c.f.s.a.RefreshAspect:##### version: 2scale_h2-lock_1|2026-07-0315:34:00.008 INFO[schedule-pool-2]c.f.s.j.ScheduleJob:[MUO]没抢到,骂骂咧咧的走了......scale_h2-lock_1|2026-07-0315:34:05.010 INFO[pool-3-thread-1]c.f.s.a.RefreshAspect:##### version: 3scale_h2-lock_1|2026-07-0315:34:30.009 INFO[schedule-pool-1]c.f.s.j.ScheduleJob:[MUO]没抢到,骂骂咧咧的走了......scale_h2-lock_1|2026-07-0315:34:35.017 INFO[pool-3-thread-2]c.f.s.a.RefreshAspect:##### version: 4scale_h2-lock_3|2026-07-0315:32:51.720 INFO[main]c.f.BootApplication:Started BootApplicationin4.663seconds(JVM runningfor8.687)scale_h2-lock_3|2026-07-0315:32:51.725 INFO[main]c.f.BootApplication:##### JDBC URL: jdbc:h2:tcp://h2-server/mem:test;database_to_upper=falsescale_h2-lock_3|2026-07-0315:32:51.726 INFO[main]c.f.BootApplication:##### JDBC Driver: org.h2.Driverscale_h2-lock_3|2026-07-0315:33:00.142 INFO[schedule-pool-1]c.f.s.j.ScheduleJob:[ykc]没抢到,骂骂咧咧的走了......scale_h2-lock_3|2026-07-0315:33:05.157 INFO[pool-3-thread-1]c.f.s.a.RefreshAspect:##### version: 1scale_h2-lock_3|2026-07-0315:33:30.007 INFO[schedule-pool-1]c.f.s.j.ScheduleJob:[ykc]没抢到,骂骂咧咧的走了......scale_h2-lock_3|2026-07-0315:33:35.009 INFO[pool-3-thread-1]c.f.s.a.RefreshAspect:##### version: 2scale_h2-lock_3|2026-07-0315:34:00.006 INFO[schedule-pool-1]c.f.s.j.ScheduleJob:[ykc]#### hello world ***********scale_h2-lock_3|2026-07-0315:34:05.010 INFO[pool-3-thread-2]c.f.s.a.RefreshAspect:##### version: 3scale_h2-lock_3|2026-07-0315:34:30.006 INFO[schedule-pool-1]c.f.s.j.ScheduleJob:[ykc]#### hello world ***********scale_h2-lock_3|2026-07-0315:34:35.015 INFO[pool-3-thread-1]c.f.s.a.RefreshAspect:##### version: 4scale_h2-lock_3|2026-07-0315:35:00.011 INFO[schedule-pool-2]c.f.s.j.ScheduleJob:[ykc]没抢到,骂骂咧咧的走了......scale_h2-lock_2|2026-07-0315:35:00.008 INFO[schedule-pool-1]c.f.s.j.ScheduleJob:[riF]没抢到,骂骂咧咧的走了......scale_h2-lock_1|2026-07-0315:35:00.007 INFO[schedule-pool-3]c.f.s.j.ScheduleJob:[MUO]#### hello world ***********scale_h2-lock_2|2026-07-0315:35:05.011 INFO[pool-3-thread-1]c.f.s.a.RefreshAspect:##### version: 5scale_h2-lock_3|2026-07-0315:35:05.014 INFO[pool-3-thread-2]c.f.s.a.RefreshAspect:##### version: 5scale_h2-lock_1|2026-07-0315:35:05.019 INFO[pool-3-thread-1]c.f.s.a.RefreshAspect:##### version: 5scale_h2-lock_2|2026-07-0315:35:30.003 INFO[schedule-pool-2]c.f.s.j.ScheduleJob:[riF]#### hello world ***********scale_h2-lock_3|2026-07-0315:35:30.005 INFO[schedule-pool-3]c.f.s.j.ScheduleJob:[ykc]没抢到,骂骂咧咧的走了......scale_h2-lock_1|2026-07-0315:35:30.005 INFO[schedule-pool-2]c.f.s.j.ScheduleJob:[MUO]没抢到,骂骂咧咧的走了......scale_h2-lock_2|2026-07-0315:35:35.006 INFO[pool-3-thread-2]c.f.s.a.RefreshAspect:##### version: 6scale_h2-lock_3|2026-07-0315:35:35.018 INFO[pool-3-thread-1]c.f.s.a.RefreshAspect:##### version: 6scale_h2-lock_1|2026-07-0315:35:35.014 INFO[pool-3-thread-2]c.f.s.a.RefreshAspect:##### version: 6scale_h2-lock_3|2026-07-0315:36:00.015 INFO[schedule-pool-3]c.f.s.j.ScheduleJob:[ykc]#### hello world ***********scale_h2-lock_1|2026-07-0315:36:00.020 INFO[schedule-pool-2]c.f.s.j.ScheduleJob:[MUO]没抢到,骂骂咧咧的走了......scale_h2-lock_2|2026-07-0315:36:00.014 INFO[schedule-pool-2]c.f.s.j.ScheduleJob:[riF]没抢到,骂骂咧咧的走了......scale_h2-lock_3|2026-07-0315:36:05.020 INFO[pool-3-thread-2]c.f.s.a.RefreshAspect:##### version: 7scale_h2-lock_2|2026-07-0315:36:05.020 INFO[pool-3-thread-1]c.f.s.a.RefreshAspect:##### version: 7scale_h2-lock_1|2026-07-0315:36:05.031 INFO[pool-3-thread-1]c.f.s.a.RefreshAspect:##### version: 7大功告成!!!
有任何问题和建议,都可以向我提问讨论,大家一起进步,谢谢!
-over-