首页 > 解决方案 > docker redis auto restart (开始自动重写 AOF on 100%)

问题描述

为什么 docker redis 容器自动重启以及如何避免它!

码头工人版本:码头工人版本19.03.15,构建99e3ed8919

redis 版本:6.0.10

消息redis日志


{"log":"242:C 28 Jul 2021 21:31:53.745 * Parent agreed to stop sending diffs. Finalizing AOF...\r\n","stream":"stdout","time":"2021-07-28T21:31:53.74533764Z"}
{"log":"242:C 28 Jul 2021 21:31:53.745 * Concatenating 0.42 MB of AOF diff received from parent.\r\n","stream":"stdout","time":"2021-07-28T21:31:53.745340654Z"}
{"log":"242:C 28 Jul 2021 21:31:53.747 * SYNC append only file rewrite performed\r\n","stream":"stdout","time":"2021-07-28T21:31:53.748060366Z"}
{"log":"242:C 28 Jul 2021 21:31:53.771 * AOF rewrite: 4082 MB of memory used by copy-on-write\r\n","stream":"stdout","time":"2021-07-28T21:31:53.771090503Z"}
{"log":"1:M 28 Jul 2021 21:31:53.864 * Background AOF rewrite terminated with success\r\n","stream":"stdout","time":"2021-07-28T21:31:53.86509657Z"}
{"log":"1:M 28 Jul 2021 21:31:53.865 * Residual parent diff successfully flushed to the rewritten AOF (0.01 MB)\r\n","stream":"stdout","time":"2021-07-28T21:31:53.865110611Z"}
{"log":"1:M 28 Jul 2021 21:31:53.865 * Background AOF rewrite finished successfully\r\n","stream":"stdout","time":"2021-07-28T21:31:53.865186183Z"}
{"log":"1:M 29 Jul 2021 06:26:03.289 * Starting automatic rewriting of AOF on 100% growth\r\n","stream":"stdout","time":"2021-07-29T06:26:03.289352072Z"}
{"log":"1:M 29 Jul 2021 06:26:03.305 * Background append only file rewriting started by pid 243\r\n","stream":"stdout","time":"2021-07-29T06:26:03.305924003Z"}
{"log":"1:C 29 Jul 2021 06:26:45.473 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo\r\n","stream":"stdout","time":"2021-07-29T06:26:45.473187567Z"}
{"log":"1:C 29 Jul 2021 06:26:45.473 # Redis version=6.0.10, bits=64, commit=00000000, modified=0, pid=1, just started\r\n","stream":"stdout","time":"2021-07-29T06:26:45.473464239Z"}
{"log":"1:C 29 Jul 2021 06:26:45.473 # Configuration loaded\r\n","stream":"stdout","time":"2021-07-29T06:26:45.473469256Z"}
{"log":"                _._                                                  \r\n","stream":"stdout","time":"2021-07-29T06:26:45.473892404Z"}
{"log":"           _.-``__ ''-._                                             \r\n","stream":"stdout","time":"2021-07-29T06:26:45.473900258Z"}
{"log":"      _.-``    `.  `_.  ''-._           Redis 6.0.10 (00000000/0) 64 bit\r\n","stream":"stdout","time":"2021-07-29T06:26:45.473903008Z"}
{"log":"  .-`` .-```.  ```\\/    _.,_ ''-._                                   \r\n","stream":"stdout","time":"2021-07-29T06:26:45.473905368Z"}
{"log":" (    '      ,       .-`  | `,    )     Running in standalone mode\r\n","stream":"stdout","time":"2021-07-29T06:26:45.473907848Z"}
{"log":" |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379\r\n","stream":"stdout","time":"2021-07-29T06:26:45.473910903Z"}
{"log":" |    `-._   `._    /     _.-'    |     PID: 1\r\n","stream":"stdout","time":"2021-07-29T06:26:45.473913623Z"}
{"log":"  `-._    `-._  `-./  _.-'    _.-'                                   \r\n","stream":"stdout","time":"2021-07-29T06:26:45.473916704Z"}
{"log":" |`-._`-._    `-.__.-'    _.-'_.-'|                                  \r\n","stream":"stdout","time":"2021-07-29T06:26:45.473919668Z"}
{"log":" |    `-._`-._        _.-'_.-'    |           http://redis.io        \r\n","stream":"stdout","time":"2021-07-29T06:26:45.473923023Z"}
{"log":"  `-._    `-._`-.__.-'_.-'    _.-'                                   \r\n","stream":"stdout","time":"2021-07-29T06:26:45.473926135Z"}
{"log":" |`-._`-._    `-.__.-'    _.-'_.-'|                                  \r\n","stream":"stdout","time":"2021-07-29T06:26:45.473929275Z"}
{"log":" |    `-._`-._        _.-'_.-'    |                                  \r\n","stream":"stdout","time":"2021-07-29T06:26:45.473932644Z"}
{"log":"  `-._    `-._`-.__.-'_.-'    _.-'                                   \r\n","stream":"stdout","time":"2021-07-29T06:26:45.473935824Z"}
{"log":"      `-._    `-.__.-'    _.-'                                       \r\n","stream":"stdout","time":"2021-07-29T06:26:45.473938926Z"}
{"log":"          `-._        _.-'                                           \r\n","stream":"stdout","time":"2021-07-29T06:26:45.47394213Z"}
{"log":"              `-.__.-'                                               \r\n","stream":"stdout","time":"2021-07-29T06:26:45.473945854Z"}
{"log":"\r\n","stream":"stdout","time":"2021-07-29T06:26:45.473949032Z"}

标签: dockerrediscontainers

解决方案


系统日志

[四 7月 29 14:24:29 2021] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/docker/38e8db6ef19db644454094af6d8c7dc9ddf8f31082c11b03e942a450f955c3f8,task=redis-server,pid=7014,uid=999
[四 7月 29 14:24:29 2021] Out of memory: Killed process 7014 (redis-server) total-vm:9966160kB, anon-rss:9061760kB, file-rss:0kB, shmem-rss:0kB, UID:999
[四 7月 29 14:24:29 2021] oom_reaper: reaped process 7014 (redis-server), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
[四 7月 29 14:24:31 2021] veth0a70248: renamed from eth0
[四 7月 29 14:24:31 2021] docker0: port 1(veth0e9f210) entered disabled state

内存信息

              total        used        free      shared  buff/cache   available
Mem:           15Gi       8.8Gi       4.3Gi       2.0Mi       2.1Gi       6.1Gi
Swap:            0B          0B          0B
[webedit@lian-redis data]$


推荐阅读