рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рд╣реИ рд╡рд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдВрдЬреАрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреА, рдФрд░ рдЕрдм рдХрдореНрдкреЛрдЬреНрдб-рдкреНрд░рдмрдВрдзрд┐рдд рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрдЧреАред рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЪрд▓ рд░рд╣реЗ рдпрд╛ "рдЧрдкрд╢рдк" рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧ рд▓реЙрдЧ рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╢реЛрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рддрд░рд╣ рдПрдХ рдХрдорд╛рдВрдб рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧреА:
$ docker-compose logs --clear [service]
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдбреЙрдХрдЯрд░ рдбреЗрдорди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рд╣реИред рдПрдкреАрдЖрдИ рдбреЙрдХреНрд╕ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдкреНрд░рддрд┐ рдХрдВрдЯреЗрдирд░ рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд▓реМрдЯреЗ рд▓реЙрдЧ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛:
https://docs.docker.com/reference/api/docker_remote_api_v1.17/#get -container- рд▓реЙрдЧ
: +1: рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдПред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Golang, Mongodb рдФрд░ nginx рдореЗрдВ рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдкреЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ ... рднреАрдЦ рдорд╛рдВрдЧрдиреЗ рдХреЗ 5 рджрд┐рди рдмрд╛рдж рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд▓рдВрдмрд╛ рд▓реЙрдЧ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЪрд┐рдВрддрд╛рдЬрдирдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рд▓реЙрдЧ рдореЗрдВ рдХрдИ рд▓рд╛рдЗрдиреЗрдВ рдЬреБрдбрд╝ рдЬрд╛рддреА рд╣реИрдВред
@dnephin рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рджреЗрддреЗ рд╣реИрдВ (рдЬреЛ рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ :)) рдпрд╛ рдпрджрд┐ рдЖрдк рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИред рдореЗрд░реА рдЦрд░рд╛рдм рдЗрдВрдЧреНрд▓рд┐рд╢ рдХреЗ рд▓рд┐рдП рдорд╛рдлрд╝ рдХреАрдЬрд┐рдпреЗред
рдбреЙрдХрд┐рдВрдЧ 1.6 рд▓реЙрдЧрд┐рдВрдЧ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝ рджреЗрдЧрд╛, https://github.com/docker/docker/pull/10568 (рд╡рд░реНрддрдорд╛рди рдореЗрдВ, JSON, syslog рдФрд░ "рдХреЛрдИ рдирд╣реАрдВ") рдХрд╛рдо рджреЗрдЦреЗрдВ, рд▓реЙрдЧ-рд░реЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ; https://github.com/docker/docker/pull/11485
рдпрд╣ рд╕реБрдирдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛, рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж :)
рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдбреЙрдХрд░ 1.6 рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ - рдЗрд╕рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реИрдВ!
docker logs -c (clear) <container>
рдорд╣рд╛рди рд╣реЛрдЧрд╛ред
+1
+1 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ
рдкрд╡рд┐рддреНрд░ рдЧрд╛рдп, рдореИрдВ рдЕрдВрдд рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдорд┐рдирдЯ рдХреА рд▓реЙрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреИрдард╛ рдерд╛ред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВред
+1
+1
+1
: +1:
+1
+2
+1
рд╕рд┐рд░реНрдл рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП, рдбреЙрдХрд░ 1.8 рдФрд░ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ 1.4 рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рд╣реА https://docs.docker.com/compose/yml/#log -driver рдФрд░ рд▓реЙрдЧ-рдСрдкреНрдЯ рдЕрдзрд┐рдХрддрдо-рдЖрдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдЧ рдЖрдХрд╛рд░ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рдПрдХ рд╡рд┐рдзрд┐ рдореМрдЬреВрдж рд╣реИ:
log_driver: "json-file"
log_opt:
max-size: "100k"
max-file: "20"
@ рдбреИрдореЗрдЬ рдереИрдВрдХреНрд╕ , рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдПред
+1000
+1 рдпрд╣ рдкреНрдпрд╛рд░ рдХрд░реЗрдЧрд╛
+1
@ рд╕рдорд╛рдзрд╛рди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЬреЛ рдЕрдиреНрдп рд▓реЛрдЧ рдЗрд╕реЗ + 1ing рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ?
@Rodeoclash - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдирдП рд░рди рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рджрд┐рдП рдЧрдП рд╕реЗрдЯ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рд╣реИ рдпрд╛рдиреА CI рдЯреЗрд╕реНрдЯ рд░рдиред рдкреБрд░рд╛рдиреЗ рд▓реЙрдЧ рдирдП рд░рди рдХреЗ рд▓рд┐рдП рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрдЧрд▓реЗ рдЖрджреЗрд╢ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ clear
рднреНрд░рдо рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдЧрд╛ред
+1
+1, @rosskevin рдЬреИрд╕реА рд╣реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдареАрдХ рд╣реИ, рдкреБрдирд░реНрдХрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
logs
рдХрдорд╛рдВрдб рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреНрдп рдореБрджреНрджреЛрдВ рдореЗрдВ рд╕рдорд░реНрдерди рдпрд╛ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдореБрдЭреЗ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдпрд╣ рдХреНрдпреЛрдВ рдмрдВрдж рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдк рд▓реЙрдЧ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдХреИрд╕реЗ рд╕рд╛рдлрд╝ рдХрд░рддреЗ рд╣реИрдВ?
рдореИрдВрдиреЗ рдЬреЛрдбрд╝рд╛:
log_opt:
max-size: 50k
рд▓реЙрдЧ рдХреА рд▓рдВрдмрд╛рдИ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЙрдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд▓реЙрдЧ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ рдФрд░ рд╕рднреА рд▓реЗрдХрд┐рди рд▓реЙрдЧ рдХреЛ рдЦрд╛рд▓реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдХрдорд╛рдВрдб рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
docker logs -c <container>
рдХреНрдпрд╛ рджреЗрддрд╛ рд╣реИ?
рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд▓реЙрдЧ рдЖрдХрд╛рд░ рдХреЛ рдХреИрд╕реЗ рд╕реАрдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдЖрдк рд▓реЙрдЧ рдХреЛ _clear_ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ?
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд▓реЙрдЧ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдирд╛ docker рдЗрдВрдЬрди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдЬреЛ рдХрд┐ рд▓реЙрдЧреНрд╕ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╢рд╛рдпрдж рдПрдХ рдХрд╕реНрдЯрдо рд▓реЙрдЧ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рд╣реЛрдЧрд╛ред
рд▓реЙрдЧреНрд╕ рдХреЛ рдлреНрд▓рд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП +1 ...
+1
+1
+1
+1
рд╕реНрдкрд╖реНрдЯ рд▓реЙрдЧ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП +1ред
рд╕реНрдкрд╖реНрдЯ рд▓реЙрдЧ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП +1
+1
+1
+1
: +1:
+1
+1
рдЙрд╕ рдбреЙрдХреНрдЯрд░ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:
https://docs.docker.com/engine/admin/logging/overview/
docker-logs-clean.sh
#!/bin/bash
rm $(docker inspect $1 | grep -G '"LogPath": "*"' | sed -e 's/.*"LogPath": "//g' | sed -e 's/",//g');
рдордВрдЧрд▓рд╛рдЪрд░рдг:
sudo ./docker-logs-clean.sh <container-name>;
@sgarbesi рдзрдиреНрдпрд╡рд╛рдж!
+1
рд╕реНрдкрд╖реНрдЯ рд▓реЙрдЧ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП +1
рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдмрдВрдж рд╣реБрдЖ?
Https://github.com/docker/compose/issues/1083#issuecomment -149357280 рд╕реЗ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП:
рдареАрдХ рд╣реИ, рдкреБрдирд░реНрдХрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
рдпрджрд┐ рдЖрдк рдЬрд┐рд╕ рдЪреАрдЬрд╝ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡рд╣ docker logs --clear
рдЬреИрд╕реА рдХреБрдЫ рдХрдорд╛рдВрдб рд╣реИ, рдЬреЛ docker рдЗрдВрдЬрди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ docker / docker рдкрд░ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдХрд▓реНрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧ рдЬреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡рд╣ рдХреЗрд╡рд▓ рд▓реЙрдЧ рдХрд╛ рд╕рдмрд╕реЗрдЯ рджрд┐рдЦрд╛рдирд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рдирд╛ рдирд╣реАрдВ рд╣реИред
рдзрдиреНрдпрд╡рд╛рдж @dnephin , рдФрд░ рдЙрдирдХреЗ рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╕рднреАред рдореИрдВрдиреЗ рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЙрдард╛рдпрд╛ рдерд╛, рдФрд░ рддрдм рд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдпрд╣ рдореБрдЭреЗ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЙрдЧ рдкреНрд░рдмрдВрдзрди рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░рдЪрдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд░реНрдж рдмрд┐рдВрджреБ рд╣реИред
рдХреБрдЫ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдбреНрд╕ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЦреБрдж рдХреЛ рдореИрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рдЙрдЪрд┐рдд рд▓реЙрдЧ рддрдХ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП max-size
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдмрд╣реБрдд рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рдЗрди рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд░реА рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ _workaround_ рд╣реИ, рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВред
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рднреА рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЗрд╕ рдбреЙрдХрд┐рдВрдЧ рд▓реЙрдЧрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рднреАрддрд░ рдЗрд╕ рдЭреВрда рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдореНрдкреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП clear
рдХрдорд╛рдВрдб рджреЗрдирд╛ рд╣реЛрдЧрд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рднреА рдиреЗ рдХрд╣рд╛ рдХрд┐ рдЗрд╕ рдЯрд┐рдХрдЯ рдХреЗ рдмрдирдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдХреБрдЫ рдЦреВрдмрд┐рдпрд╛рдБ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдбреЙрдХрд░ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдмрдирд╛рдпрд╛ рд╣реИ - рдЕрд░реНрдерд╛рддреН --since=<timestamp>
рдФрд░ --tail=<num-lines>
рдЬреЛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдкреЛрдЬрд╝ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╣рд▓ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, --since
рд╕рдорд░реНрдерди рдРрд╕рд╛ рдХреБрдЫ рд╕рдВрднрд╡ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
$ docker-compose logs --since=now my_container
рдпрд╛
$ docker-compose logs --since=5m my_container
--tail
рд▓рд┐рдП рд╕рдорд░реНрдерди рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛, рдЙрджрд╛
$ docker-compose logs --tail=100 my_container
рдФрд░ рд╣рд╛рдВ, рдЗрд╕рдХреЗ рд╕рдВрдпреЛрдЬрдиред рдпрд╣ docker-compose.yml
logging
рдмреНрд▓реЙрдХ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдирдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд╕рдордЭ рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрд┐рдирд╛ рдЗрди рджреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдХреЗ рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЙрди рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ + рдЗрд╕ рдЯрд┐рдХрдЯ рдХреЛ резред
рд╕рд╛рд░рд╛рдВрд╢ рдореЗрдВ, рд╕рднреА рдлреАрдбрдмреИрдХ рдФрд░ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж, рдФрд░ рдбреЙрдХрд░ рдФрд░ рдЦреБрдж рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреЗрдВ - рд╡реЗ рджреЛрдиреЛрдВ рдорд╣рд╛рди рдЙрддреНрдкрд╛рдж рд╣реИрдВ - рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдЖрдЧреЗ рд░рдЦреЗ рдЧрдП рд╡рд┐рдЪрд╛рд░реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрди рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред
рд╕рд╛рд░рд╛рдВрд╢ рдХреЗ рд▓рд┐рдП # 2227 рджреЗрдЦреЗрдВ
: +1: рдзрдиреНрдпрд╡рд╛рдж @dnephin , рдЗрд╕рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реИрдВ!
рдореИрдВрдиреЗ рдЬреЛ рдХрд┐рдпрд╛ рд╡рд╣ /var/lib/docker/containers/<container-id>/
рдЕрдВрджрд░ рд░рдЦреА <container-id>-json.log
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ ( sudo
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ)ред рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВ docker-compose logs
рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рд▓реЙрдЧ рдЦрд╛рд▓реА рдерд╛ред рдпрд╣ рдПрдХ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЙрдЪрд┐рдд .bash
рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдкрд╣рд▓реЗ рд╕рдлрд╛рдИ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХреА рдЪрд╛рд▓ рд╣реИ (рдЕрдкрдиреЗ рдЬреЛрдЦрд┐рдо рдХреЗ рддрд╣рдд рдЙрдкрдпреЛрдЧ !!):
sudo find /var/lib/docker/containers/ -type f -name '*-json.log' -delete
+1
+1
+1
+1
+2
+2
+1
+20
+1
+1
+1
+1
@sgarbesi рдЙрд╕ рдХреНрд▓реАрди рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд▓реЙрдЧ рдлреАрдЪрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛?
+1
docker-logs-clean.sh
#!/bin/bash
for container_id in $(docker ps -a --filter="name=$name" -q);
do file=$(docker inspect $container_id | grep -G '"LogPath": "*"' | sed -e 's/.*"LogPath": "//g' | sed -e 's/",//g');
if [ -f $file ]
then
rm $file;
fi
done
рдордВрдЧрд▓рд╛рдЪрд░рдг:
chmod +x docker-logs-clean.sh
sudo ./docker-logs-clean.sh
рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд▓реЙрдЧ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП +1
@kassanmoor рдореЗрд░реЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИред
+1
рдХрдВрдЯреЗрдирд░ рд▓реЙрдЧ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
ЁЯСН
+1 ЁЯСН
+1!
+1
+1
+1
рдпрд╣ рдПрдХ рдмрдбрд╝реА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрдЧреА, рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдХрдВрдЯреЗрдирд░ рд╣реИрдВ рдЬреЛ рдЬрд╛рд╡рд╛ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ рдФрд░ рдПрдХ рдпрд╛ рджреЛ рджрд┐рди рдмрд╛рдж рднреА рдЬрдм рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдореЗрдВ 30 рд╕реЗрдХрдВрдб рдпрд╛ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рддреЛ docker logs -f <container>
рдХреНрдпреЛрдВрдХрд┐ рдЬрд╛рд╡рд╛ рдЙрди рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ рд▓реЙрдЧред
рдПрдХ рдФрд░ рдЪреАрдЬрд╝ рдЬрд┐рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдореМрдЬреВрджрд╛ рд▓реЙрдЧ docker logs -f -n <container>
рдХреЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдкреВрдВрдЫ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдкрд░ рдПрдХ рдФрд░ рдЭрдВрдбрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдирдП рд▓реЙрдЧ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ)ред рдпрд╣ рдХреЗрд╡рд▓ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рд▓реЙрдЧ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рддрд┐рдзреНрд╡рдирд┐рдд рдХрд░реЗрдЧрд╛ред
рд╡рд┐рдкрд░реАрдд рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ (рдФрд░ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЧреНрдиреВ рдЯреЗрд▓ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЙрд╕рдХреЗ рдХрд░реАрдм рд╣реЛрдЧрд╛) рдЕрдВрддрд┐рдо 5-10 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдПрдХ рдПрдлреЛ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдирдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдПрдХ рдзреНрд╡рдЬ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдкреНрд░рддрд┐рдзреНрд╡рдирд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЕрдм (рд╢рд╛рдпрдж docker logs -f -a <container>
рдпрд╛ рдХреБрдЫ рдФрд░)ред
рдЙрд╕ рдиреЛрдЯ рдкрд░ рдореБрдЭреЗ рдЧреНрдиреВ рдЯреЗрд▓ рд╕реЗ рдлреАрдЪрд░ рдкрд╕рдВрдж рдЖрдПрдЧрд╛ рдЬреЛ рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдиреНрд╕ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рддрдиреЗ рд▓рд╛рдЗрди рдХреЛ docker logs -100 <container>
рддрд░рд╣ рдЯреЗрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП рдЬреЛ рдореБрдЭреЗ рдкрд┐рдЫрд▓реЗ 100 рд▓рд╛рдЗрди рджреЗрддрд╛ рд╣реИред
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
рдореИрдХ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд╛рд▓ рд╣реИ? рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдФрд░ +1 :)
+1
+1
+1
рдЕрджреНрдпрддрди: 2016/10/08 - "рдЬреЗрдХ" рдХреЗ рд░реВрдк рдореЗрдВ "рдбреЙрдХ рд▓реЙрдЧреНрд╕" рдХреЗ рд▓рд┐рдП рд╣рдЯрд╛рдП рдЧрдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдЧреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИрдВ! (Https://docs.docker.com/engine/admin/formatting/)
рдирдорд╕реНрддреЗ,
рдХреНрдпреЛрдВрдХрд┐ рдЬреЛ рдлрд╛рдЗрд▓реЗрдВ рдЦреЛрд▓реА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рдирд╛ рдЖрдо рддреМрд░ рдкрд░ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ - рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рдбрд┐рд╕рдХреИрдк рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ! - рдореИрдВрдиреЗ рдиреАрдЪреЗ рдХреБрдЫ рдФрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд▓рд┐рдкрд┐ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @sgarbesi , @lvlys & @wazoo (рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж) рдХреЗ рд╢реБрд░реБрдЖрддреА рдкреНрд░рдпрд╛рд╕реЛрдВ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред
рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ
vi ./docker-container-log-trim.sh
рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдПрдВ
chmod +x ./docker-container-log-trim.sh
рдлрд┐рд░ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
sudo ./docker-container-log-trim.sh
рдЬрдм рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ >
рд╕рд╛рде рд▓рд╛рдЗрди рдХреЛ рд░рджреНрдж рдХрд░реЗрдВ ... рдЬрд╣рд╛рдВ рдЬрд╛рджреВ рд╣реЛрддрд╛ рд╣реИред :-)
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд
рдзрдиреНрдпрд╡рд╛рджред
рдкреБрдирд╢реНрдЪред рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдпреБрджреНрдз-рдХрдареЛрд░ рдирд╣реАрдВред рдЕрдкрдиреЗ рдЬреЛрдЦрд┐рдо рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
#!/bin/bash
# NOTES:
# Does NOT delete logfile (BAD IDEA) - simply trims file with redirect.
# Handles single/all-running/all-existing containers - see end of script for usage.
# Enjoy :-)
_get_container_logfile() {
case $1 in
running) _trim_container_logfile "$(docker ps -q)" $2
;;
all) _trim_container_logfile "$(docker ps -aq)" $2
;;
*) _trim_container_logfile "$(docker ps -a | awk -v ID=$1 '$1 ~ ID || $NF ~ ID {print $1}')" $2
;;
esac
}
_trim_container_logfile() {
TEMP=$(mktemp)
case $2 in
*[!0-9]*) echo "[lines] must be a number - \"$2\" is not a number."
exit 1
;;
''|*) MAX=${2:-1000}
;;
esac
if [ -z $1 ]
then
echo "Container name/id unknown!"
exit 1
else
for container in $1
do
logfile="$logfile $(docker inspect --format '{{ .LogPath }}' $container)"
echo "Keeping $MAX lines: $logfile"
tail -n ${MAX} $logfile > $TEMP
# Uncomment the next line when you trust the script!
# cat $TEMP > $logfile
done
fi
rm $TEMP
}
if [ -a "$(which docker)" ]
then
case $1 in
--trim) if [ -z $2 ]
then
echo "Container name/id missing!"
exit 1
else
_get_container_logfile $2 $3
fi
;;
--trim-running) _get_container_logfile running $2
;;
--trim-all) _get_container_logfile all $2
;;
*) echo "Usage:"
echo " --trim {container} [lines] Keep [lines] of logfile for a single container"
echo " --trim-running [lines] Keep [lines] of logfile for all running containers"
echo " --trim-all [lines] Keep [lines] of logfile for all containers"
echo "Default: lines=1000"
exit 1
;;
esac
else
echo "Requires \"docker\""
exit 1
fi
+1
+1
рдЗрд╕рд▓рд┐рдП рдЪреВрдВрдХрд┐ рдпрд╣ рдХрдИ рдмрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╕реНрдкрд╖реНрдЯ рдЖрджреЗрд╢ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реИ рдФрд░ рдЪреВрдВрдХрд┐ рдХреЛрдИ рднреА рдЬреЛрдбрд╝рд╛ рдирд╣реАрдВ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?
рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдбреЙрдХ рдЗрдВрдЬрди рдкрд░рд┐рд╡рд░реНрддрди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдХреБрдЫ рд╣реИ рдЬрд┐рд╕реЗ рдЕрдВрддрддрдГ рдбреЙрдХ-рдХрдВрдкреЛрдЬрд╝ рдореЗрдВ рднреА рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА - рдФрд░ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рддрдп рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдПрдХ рд╕реНрдкрд╖реНрдЯ рдХрдорд╛рдВрдб рдХрд╛ рд╕рдВрдмрдВрдз рд╣реИред
@DavidPesticcio рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╕рдордп рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рд╣реИ: line 53: $logfile: ambiguous redirect
(рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж)
рд╣рд╛рдп @gingerlime , $ TEMP рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдЖрдмрд╛рдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ ... рд╢рд╛рдпрдж рдЖрдк "mktemp" рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рд╢рд╛рдпрдж рдирд╣реАрдВ рд╣реИ? : - /
"рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ" - рд╣рд╛рдБ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдЪ рд╣реИ ... :-)
рдореИрдВрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ "jq" рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рд╢рд╛рдпрдж рдореБрдЭреЗ рдПрдХ рдЬрдорд╛рдирдд рдорд┐рд▓рд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдпрджрд┐ рдордХреНрддрдк рднреА рдЧрд╛рдпрдм рд╣реИ ... рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдорд╛рдирдХ рдЙрдкрдХрд░рдг рдерд╛ - рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдЖрдк рдирд╣реАрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ "рдорд╛рдирдХ" рдХреЗ рднреАрддрд░ - рдЬреИрд╕реЗ рдПрдХ рдиреНрдпреВрдирддрдо рдХрдВрдЯреЗрдирд░ рдХреЗ рднреАрддрд░ рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? :-)
рдЙрдореНрдореАрдж рд╣реИ рдХреА рд╡реЛ рдорджрдж рдХрд░рджреЗ!
рдореЗрд░реЗ рдкрд╛рд╕ mktemp
, рдФрд░ рдЗрд╕реЗ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ... рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рд╕рдордп рдирд╣реАрдВ рд▓рдЧрд╛ред рдКрдкрд░ рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖ рдХрд┐ рдмрд╕ рдЙрди рд▓реЙрдЧ рдХреЛ nukesред рд╣рдорд╛рд░реЗ рджреЗрд╡ рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ рд╡реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВред
рдореЗрд░реЗ рд╕реЗрдЯрдЕрдк рдкрд░ (рдпрд╛рдиреА рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ) рдЗрд╕ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреИрд╕ рдХреА рдорджрдж рдирд╣реАрдВ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдкреНрд░рд╡реЗрд╢ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдЬреАрдм рд╣реИ, рдХрд┐ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВ docker рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рд▓реЙрдЧ рдлрд╛рдЗрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ ...
рдПрдХ рдХрд╛рд░рдг рдХреЗ рдХреБрдЫ docker / docker- рд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдмрддрд╛рдИ рдЧрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдореБрдЭреЗ @DavidPesticcio рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ ... рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ:
#!/bin/bash
# NOTES:
# Does NOT delete logfile (BAD IDEA) - simply trims file with redirect.
# Handles single/all-running/all-existing containers - see end of script for usage.
# Enjoy :-)
_get_container_logfile() {
case $1 in
running) _trim_container_logfile "$(docker ps -q)" $2
;;
all) _trim_container_logfile "$(docker ps -aq)" $2
;;
*) _trim_container_logfile "$(docker ps -a | awk -v ID=$1 '$1 ~ ID || $NF ~ ID {print $1}')" $2
;;
esac
}
_trim_container_logfile() {
TEMP=$(mktemp)
case $2 in
*[!0-9]*) echo "[lines] must be a number - \"$2\" is not a number."
exit 1
;;
''|*) MAX=${2:-1000}
;;
esac
if [ -z "$1" ]
then
echo "Container name/id unknown!"
exit 1
else
for container in $1
do
logfile="$(docker inspect --format '{{.LogPath}}' $container)"
if [ ! -f "$logfile" ]; then continue; fi
echo "Keeping $MAX lines: $logfile"
tail -n ${MAX} "$logfile" > "$TEMP"
# Uncomment the next line when you trust the script!
# cat "$TEMP" > "$logfile"
done
fi
rm "$TEMP"
}
if [ -a "$(which docker)" ]
then
case $1 in
--trim) if [ -z $2 ]
then
echo "Container name/id missing!"
exit 1
else
_get_container_logfile $2 $3
fi
;;
--trim-running) _get_container_logfile running $2
;;
--trim-all) _get_container_logfile all $2
;;
*) echo "Usage:"
echo " --trim {container} [lines] Keep [lines] of logfile for a single container"
echo " --trim-running [lines] Keep [lines] of logfile for all running containers"
echo " --trim-all [lines] Keep [lines] of logfile for all containers"
echo "Default: lines=1000"
exit 1
;;
esac
else
echo "Requires \"docker\""
exit 1
fi
@dnephin рдХрд┐рд╕реА рднреА рдореМрдХрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдкрд╖реНрдЯ рдПрдХ рдмрд╛рд░ рд╕реНрдкрд╖реНрдЯ рдЖрджреЗрд╢ рджреЗрдиреЗ рдХреА рд╕реНрдкрд╖реНрдЯ рдорд╛рдВрдЧ рд╣реИ?
рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдХреЛ рдЕрд▓рдЧ рдХрд░реЗрдВ (рд░реВрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП):
cp /dev/null $(docker inspect -f '{{.LogPath}}' container_name)
рдЖрдк рдЯреНрд░рдВрдХреЗрд╢рди рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдбрд┐рд▓реАрдЯ рдирд╣реАрдВред (рдЦреБрд▓реЗ рдлрд╝рд╛рдЗрд▓ рд╣реИрдВрдбрд▓ рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрдХ рдЬрдЧрд╣ рдХреА рдкреБрдирдГ рдкреНрд░рд╛рдкреНрддрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЙрдХрд░ рдбреЗрдорди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рддрд╛ рд╣реИ)
@ рдЬреЛрдЧрд▓реА рдореЗрд▓рд╛ рдХрд╛рдлреА рдлрд┐рд░ рднреА рдорд╛рдВрдЧ рдкрд░ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪрд┐рдд рдЖрджреЗрд╢ рджреЗрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
+1
рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪрд┐рдд рдЖрджреЗрд╢ рджреЗрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛
+1
рдорд╛рдВрдЧ рдкрд░ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪрд┐рдд рдЖрджреЗрд╢ рджреЗрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рдпрд╣ рдПрдХ рдиреЛ рдмреНрд░реЗрдирд░ рд╣реИ, рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯ рдбреЗрдЯ рдХреЛ рдПрдХ рдлрд┐рд▓реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрд╛рдо рд╣реИ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓реАрдпрд░ рдХрд░рдирд╛ рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЬреЛрдбрд╝реЗрдВред
+1
+1
+1
+1
+1
рддрд╛рддреНрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реБрдЭрд╛рд╡:
docker-compose logs -f
, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ --tail=30
(рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рд╕рдВрдЦреНрдпрд╛ рдЬреЛ рдЙрдЪрд┐рдд рд╣реЛ) рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ
docker-compose logs -f
рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд▓реЙрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
рдпрд╛ рдпрд╣ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рднреА рд╣реИ
logpath=`docker inspect --format='{{.LogPath}}' reveelium_metricsextraction_1` && mv $logpath $logpath".bckup"
рдХреГрдкрдпрд╛, +1 рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВред рдпрд╣ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдореВрд▓реНрдпрд╡рд╛рди рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдард┐рди рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдУрдкреА рдкреЛрд╕реНрдЯ рдкрд░ рдПрдХ рдЕрдВрдЧреВрдареЗ рдХрд╛ рдмрдЯрди рд╣реИред
рдпрд╣рд╛рдБ рдХреБрдЫ рднреА рдореЗрд░реЗ рд▓рд┐рдП рдореИрдХ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдереНрд░реЗрдб рдФрд░ docker рдлрд╝реЛрд░рдо рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЬреЛ рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЙрд╕реЗ рдПрдХ рд╕рд╛рде рд╣реИрдХ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред
D4M рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдХ рдкрд░, рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ xhyve vm рдкрд░ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рддреЛ рдпрд╣рд╛рдБ рдореИрдВ рдХреНрдпрд╛ рд▓реЗрдХрд░ рдЖрдпрд╛ рд╣реВрдБред рдЗрди рджреЛрдиреЛрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрдкрдиреЗ .bash_profile
ред
рдорд╣рддреНрд╡рдкреВрд░реНрдг : рдПрдХ рдирдпрд╛ рд╢реЗрд▓ рд╢реБрд░реВ рдХрд░рдирд╛ рдпрд╛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреА рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред
рдЕрдм, docker-logs-clean
рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
#!/bin/bash -e
if [[ -z $1 ]]; then
echo "No container specified"
exit 1
fi
logFile=$(docker inspect -f '{{.LogPath}}' $1 2> /dev/null)
echo -n "Cleaning ${logFile}... "
d4mexec << EOF
> $logFile
EOF
echo "done"
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ rm
рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл >
рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрд╛рдЯ рджреЗрдЧрд╛ред
FWIW docker- рдХрдореНрдкреЛрдЬ 2 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд▓реЙрдЧ рдлрд╛рдЗрд▓ рд╕рд╛рдЗрдЬ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ:
version: '2'
services:
my-service:
image: nginx:alpine
restart: always
logging:
# limit logs retained on host to 25MB
driver: "json-file"
options:
max-size: "500k"
max-file: "50"
рдпрд╣ рдбреЙрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
+1
+1
+1
+1
+1
рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ docker_clear_log.sh рдмрдирд╛рдИ :
sudo truncate -s 0 $(docker inspect --format='{{.LogPath}}' $1)
рдЙрдкрдпреЛрдЧ :/docker_clear_log.sh [рдирд╛рдо-рдпрд╛-рдЖрдИрдбреА]
рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ sudo рдЕрдзрд┐рдХрд╛рд░ рд╣реИрдВ рдФрд░ log_driver: "json-file"
рдЖрдкрдХреЗ docker (рдбрд┐рдлрд╝реЙрд▓реНрдЯ) рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧ рд╣реИред
+1
рдореИрдВрдиреЗ рд╕рдорд╛рдзрд╛рди рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рднреА рдХреА рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ
рдореВрд▓ рдореБрджреНрджреЗ рдХреЛ рдХрднреА рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╡реИрд╕реЗ рднреА рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рджрд┐рд▓рдЪрд╕реНрдкред @djessup , рдЖрдк рдЙрди рд╕реЗрдмреЛрдВ рдХреЛ рдХреИрд╕реЗ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ?
рдЕрднреА рднреА рдПрдХ docker- рд░рдЪрдирд╛ рд▓реЙрдЧ --clean рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛
рдпрд╣ рдореБрджреНрджрд╛ рдмрд┐рдирд╛ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рднреА рдХреНрдпреЛрдВ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рд╣реИ рдЬрдм рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдпрд╣ рдорд╕рд▓рд╛ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ?
@linvi
рдЬрдм рдореИрдВ рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рдЖрдпрд╛, рддреЛ рд╕рдорд╛рдкрди рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЕрдиреНрдп рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдареАрдХ рдпрд╣рд╛рдБ рд╣реИ:
https://github.com/docker/compose/issues/1083#issuecomment -149357280
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВ рдХрд┐ рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИрдВ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╡рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рдЯрд┐рдХрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐, рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ: рдбреА
рдХреЛрдИ рд╕реБрдзрд╛рд░?
рдЬрдм рдХреЛрдИ рд▓реЙрдЧ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдЗрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдЕрдЧрд░ рдЖрдк рдЗрд╕рдореЗрдВ рдХрдорд╛рдВрдб рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХрдард┐рди рдирд╣реАрдВ рд╣реИред
рд╣рдЬрд╛рд░реЛрдВ рд▓реЛрдЧ рдмрд╣реБрдд рдЦреБрд╢ рд╣реЛрдВрдЧреЗ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╣рд░ рдЪреАрдЬ рдореЗрдВ рд╕реНрдХреНрд░реЙрд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ред
рдпрджрд┐ рдЖрдк docker - lazydocker рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдлрд┐рд░ рд▓реЙрдЧ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рд▓рд╛рдЗрд╡ рд▓реЙрдЧ рдорд┐рд▓рддреЗ рд╣реИрдВ рдФрд░ рдирд╡реАрдирддрдо рд▓реЙрдЧ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдорджрдж рдХрд░рддрд╛ рд╣реИред
https://github.com/jesseduffield/lazydocker
рдЖрдк рдЗрд╕реЗ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдирд┐рдЧрд░рд╛рдиреА рдЙрдкрдХрд░рдг рд╣реИред рдпрд╣ рдПрдХ рдЦрд╝реБрд╢рдЦрд╝рдмрд░реА рд╣реИ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рд╕рдордЭрдирд╛ рдЙрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ "рд▓реЙрдЧ рд▓реЙрдЧ" рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИред
рд▓реЗрдХрд┐рди рдЖрд▓рд╕реА рдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рд╣реИред рд╣рдореЗрдВ рдЕрдкрдиреЗ рдирд┐рдЧрд░рд╛рдиреА рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рдЖрд▓рд╕реА рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП jewsuffield рдзрдиреНрдпрд╡рд╛рдж :-)
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдбреАрдмрдЧрд┐рдВрдЧ / рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗ, рддреЛ рд▓рдЬрд╝реАрдбреЙрдХрд░ рдХреЛ рджрд╛рди рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдФрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдбреЙрдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ / рдореЗрдВрдЯреЗрдирд░: рдбреЙрдХ рд╕реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ?
рдбреЙрдХрд░ рдмрд╣реБрдд рднрдпрд╛рдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рдЬрд╝реАрдбреЙрдХрд░ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рд╣реИ; рдЗрд╕рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреА рдЧреБрдВрдЬрд╛рдЗрд╢ рд╣реИред
+2147483647
+49324893
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
docker logs -c (clear) <container>
рдорд╣рд╛рди рд╣реЛрдЧрд╛ред+1