
рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреАрдпреВрдЖрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА
рдереА , рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдкреНрд░реЗрдорд┐рдпреЛрдВ рдХреА рджреБрдирд┐рдпрд╛ рдЕрднреА рднреА рдЦрдбрд╝реА рдирд╣реАрдВ рд╣реИред рджреВрд╕рд░реЗ рджрд┐рди, рд╕рдВрд╕реНрдХрд░рдг 0.2 рдХреЛ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЗрд╕реЗ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпреБрд╡рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛
рд▓реЛрдЬрд╝рдбреЙрдХрд░ , рдЦреБрдж рдХреЛ "рдбреЛрдХрд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдзрд┐рдХ рдЖрд▓рд╕реА рддрд░реАрдХрд╛" рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд┐рддрд┐ред рдЙрдкрдпреЛрдЧрд┐рддрд╛ рддреЗрдЬреА рд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд░рд╣реА рд╣реИ - рдХрд▓ рд╣реА рдЗрд╕рдХреЗ GitHub рд╕рд┐рддрд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 3000 рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреА рдереА, рдФрд░ рдЖрдЬ рдпрд╣ 4000 рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЧрдИ рд╣реИред
рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ
рд▓рдЬрд╝реАрдбреЙрдХрд░ рдХреЗ рд▓реЗрдЦрдХ рдЕрдкрдиреЗ рджрд┐рдорд╛рдЧ рдХреА рдмрдирд╛рд╡рдЯ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рдордЭрд╛рддреЗ рд╣реИрдВ:
тАЬрдпрд╛рдж рд░рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдЖрдЬреНрдЮрд╛рдПрдБ рдХрдард┐рди рд╣реИред рдЙрдкрдирд╛рдо рдпрд╛рдж рд░рдЦрдирд╛ рдереЛрдбрд╝рд╛ рдХрдо рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЯрд░реНрдорд┐рдирд▓ рдХреА рдХрдИ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдПрдХ рдЦрд┐рдбрд╝рдХреА рдореЗрдВ рд╣реЛрдЧреА, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдорд╛рдВрдб рдПрдХ рдХреБрдВрдЬреА рджрдмрд╛рдХрд░ рд╕реБрд▓рдн рд╣реИ (рдФрд░ рдЕрдкрдиреА рдЦреБрдж рдХреА рдХрдорд╛рдВрдб рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рдерд╛)? рд▓реЗрдЬрд╝рдбреЙрдХрд░ рдХрд╛ рд▓рдХреНрд╖реНрдп рдЗрд╕ рд╕рдкрдиреЗ рдХреЛ рд╕рд╛рдХрд╛рд░ рдХрд░рдирд╛ рд╣реИред "
рддреЛ, lazydocker рдЯрд░реНрдорд┐рдирд▓ рдХреЛ Docker рдФрд░ Docker Compose рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдХрдВрдЯреЗрдирд░реЛрдВ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ (рдЫрд╡рд┐рдпреЛрдВ, рд╕рдВрд╕реНрдХрд░рдгреЛрдВ) рдореЗрдВ рдЪрд▓ рд░рд╣реА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмреАрдЪ рдЬрд▓реНрджреА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрдирдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдХрдорд╛рдВрдбреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ "рдХрднреА-рдХрднреА рдПрдХ рдмрд╛рд░ рджреЗрдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ", рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдмрд╣реБрдд рдЖрддреНрдордирд┐рд░реНрднрд░ рдЬрд┐рдлрд╝-рдЪрд┐рддреНрд░рдг рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрд╛:

рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреАрдмреЛрд░реНрдб рдФрд░ рдорд╛рдЙрд╕ рджреЛрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред рдЬрдм рдЖрдк рд╡рд╛рдВрдЫрд┐рдд рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдЙрдкрд▓рдмреНрдз рд╣реЛрддрд╛ рд╣реИ:
рдЪрдпрдирд┐рдд рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рд╕рдВрджрд░реНрдн рдореЗрдиреВрдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдХрдорд╛рдВрдб рдореЗрдВ рдЬрд▓реНрджреА рд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреБрдВрдЬреА рднреА рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдкреВрд░реА рд╕реВрдЪреА
рдпрд╣рд╛рдВ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА
рд╣реИ (рд╡реИрд╕реЗ, рдореЗрдиреВ рдореЗрдВ рдХрдИ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП
рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмреАрдЪ рдЕрднреА рднреА рдХреЛрдИ рд░реВрд╕реА рдирд╣реАрдВ рд╣реИ)ред
рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд┐рдП рдЧрдП рдзреНрдпрд╛рди рдХрд╛ рд╣рдХрджрд╛рд░ рд╣реИ: рдпрд╣рд╛рдВ рди рдХреЗрд╡рд▓ рд▓реЙрдЧ рдФрд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ, рдмрд▓реНрдХрд┐ рдЧреНрд░рд╛рдлрд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдЖрдВрдХрдбрд╝реЗ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рд╕реАрдкреАрдпреВ / рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рд╣реИ) рдФрд░ рд╢реАрд░реНрд╖ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВред рдпреЗ рдХреНрд╖рдорддрд╛рдПрдВ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рддрдХ рдлреИрд▓реА рд╣реБрдИ рд╣реИрдВ, рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдореЗрдВ рдЧреНрд░рд╛рдлрд╝ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ (рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ
stats
рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВ)ред
рдЪрдпрдирд┐рдд рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк
Dockerfile
рд╕реЗ рдХрдорд╛рдВрдб рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдЪрд▓рд╛рдиреЗ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдкрд░рддреЗрдВред рдЕрдкреНрд░рдпреБрдХреНрдд рдХрдВрдЯреЗрдирд░реЛрдВ, рдЪрд┐рддреНрд░реЛрдВ, рд╡реЙрд▓реНрдпреВрдо (
prune
) рдХреА рд╕рдлрд╛рдИ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИред
рдЙрдкрд▓рдмреНрдз рдЖрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреВрд░рдХ рднреАред рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ
customCommands
рдФрд░
customCommands
рдХреЛ
commandTemplates
рдмреНрд▓реЙрдХ рдореЗрдВ рджреЗрдЦреЗрдВ (рд╡реИрд╕реЗ,
customCommands
рдХреЛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕реЗ рд╕реАрдзреЗ рд╕рдВрдкрд╛рджрд┐рдд рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ):
commandTemplates: dockerCompose: docker-compose restartService: '{{ .DockerCompose }} restart {{ .Service.Name }}' stopService: '{{ .DockerCompose }} stop {{ .Service.Name }}' тАж customCommands: containers: - name: bash attach: true command: docker exec -it {{ .Container.ID }} /bin/sh serviceNames: [] тАж
рд╕реНрдерд╛рдкрдирд╛
Lazydocker рдХреЛ
Gocui рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Go рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХрдВрд╕реЛрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЧреЛ рд╕рдВрд╕реНрдХрд░рдг 1.12 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕реНрд░реЛрдд рдХреЛрдб рдореБрдлреНрдд рдмреАрдПрд╕рдбреА 3-рдХреНрд▓реЙрдЬ (рдирдпрд╛) рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЖрджреЗрд╢ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрдирд╛ рдлреЛрдбрд╝реЗ:
go get github.com/jesseduffield/lazydocker
рдмрд╛рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдФрд░ рдЕрдкрдиреЗ рд▓рд┐рдП рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИред
рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ
рд▓реЗрдЬрд╝рдбреЙрдХрд░ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЕрдм рддрдХ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╛рдкрдХ рд╕рдореБрджрд╛рдп рдХреЗ рдЪреЗрд╣рд░реЗ рдореЗрдВ "рддрд╛рдЬрд╛ рд░рдХреНрдд" рдиреЗ рдЗрд╕рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЛ рдмрдврд╝рд╛рдпрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдм рд╣рдо рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдПрдХ рджрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рдХрдо рдХрд┐рдП рдЧрдП
рдкреАрдЖрд░рдПрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдбреЙрдХрдлреЗрд░рд╛рдЗрд▓ рдФрд░ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рдореЗрдВ рдмрд╛рдЗрдирд░реА рдпреВрдЯрд┐рд▓рд┐рдЯреА рд░рд┐рд▓реАрдЬрд╝
рдХреА рд╕рд░рд▓реАрдХреГрдд рд╕реНрдерд╛рдкрдирд╛ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдореБрджреНрджреЛрдВ рдореЗрдВ, рдЖрдк рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐
рдХрд╕реНрдЯрдо рдХреАрдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдФрд░
docker stack
рд▓рд┐рдП рд╕рдорд░реНрдерди ред рдлрд┐рд░, рд╡реЗ рдПрдХ рджрд┐рди рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рджрд┐рдЦрд╛рдИ рджрд┐рдПред
рдпрд╣ рд╕рдм рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдо рд▓реЗрдЬрд╝рдбреЙрдХрд░ рдХреЛ рдПрдХ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдкрдХреНрд╡ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдбреЙрдХрдЯрд░ рд╕рдореБрджрд╛рдп рдиреЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдорд╛рдВрдЧ рджрд┐рдЦрд╛рдИ рд╣реИред
рдкреБрдирд╢реНрдЪ
рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдореЗрдВ рднреА рдкрдврд╝реЗрдВ: