рдбреЙрдХрд░ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 10 рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдЕрднреНрдпрд╛рд╕ред рднрд╛рдЧ реи

рд▓реЗрдЦ рдХрд╛ рдПрдХ рдЕрдиреБрд╡рд╛рдж рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓рд┐рдирдХреНрд╕ рд╕реБрд░рдХреНрд╖рд╛ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдкрд╣рд▓рд╛ рднрд╛рдЧ рдкрдврд╝реЗрдВ


5. рдбреЙрдХрдЯрд░ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдХреЛ рди рдЫреЛрдбрд╝реЗрдВ


рдХрднреА-рдХрднреА рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдирд┐рдЬреА рдкреИрдХреЗрдЬ рдпрд╛ рдЯреЛрдХрди рдмрдВрдж рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдЬреА рдПрд╕рдПрд╕рдПрдЪ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЙрд╕ рдкрд░рдд рдореЗрдВ рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рднрд▓реЗ рд╣реА рдЖрдк рдЙрдиреНрд╣реЗрдВ рдмрд╛рдж рдореЗрдВ рд╣рдЯрд╛ рджреЗрдВред рдЗрди рдЯреЛрдХрди рдФрд░ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ Dockerfile рдмрд╛рд╣рд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рд╕рдорд░реНрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЫрд╡рд┐ рдХреА рдордзреНрдп рдкрд░рдд рдореЗрдВ рд░рд╣рд╕реНрдпреЛрдВ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреЛрдИ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдЕрдВрддрд┐рдо рдирд┐рд░реНрдорд╛рдг рддрдХ рди рдкрд╣реБрдВрдЪ рд╕рдХреЗред рдорд┐рдбрд▓рд╡реЗрдпрд░ рдореЗрдВ рдЧреБрдкреНрдд рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

 FROM: ubuntu as intermediate WORKDIR /app COPY secret/key /tmp/ RUN scp -i /tmp/key build@acme/files . FROM ubuntu WORKDIR /app COPY --from=intermediate /app . 

рдбреЙрдХрд░ рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреИрд╢рд┐рдВрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдореЗрдВ рдЕрд▓реНрдлрд╛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

 # syntax = docker/dockerfile:1.0-experimental FROM alpine # shows secret from default secret location RUN --mount=type=secret,id=mysecret cat /run/secrets/mysecre # shows secret from custom secret location RUN --mount=type=secret,id=mysecret,dst=/foobar cat /foobar 

рдЖрдк рдбреЙрдХрд░ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВред

рдкреБрдирд░рд╛рд╡рд░реНрддреА рдирдХрд▓ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ


рдЖрдкрдХреЛ рдмрдирд╛рдИ рдЧрдИ рдЫрд╡рд┐ рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдЖрджреЗрд╢ рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рд░реВрдк рд╕реЗ рд╕рдВрдкреВрд░реНрдг рдЕрд╕реЗрдВрдмрд▓реА рд╕рдВрджрд░реНрдн рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рдкрд░ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ:

 COPY . . 

рдпрджрд┐ рдЖрдкрдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рджреЗрдВ рдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЙрдиреНрд╣реЗрдВ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .dockerignore :

 private.key appsettings.json 

6. рдкреНрд░рддрд┐рд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рдкреНрд░рддреНрдпреЗрдХ рдбреЙрдХрд░ рдЫрд╡рд┐ рдореЗрдВ рдХрдИ рдЯреИрдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рдорд╛рди рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдмрджрд▓рд╛рд╡ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдЖрдо рдЯреИрдЧ latest , рдПрдХ рдЫрд╡рд┐ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдЫрд╡рд┐ рдЯреИрдЧ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдПрдХ рдЫрд╡рд┐ рд▓реЗрдЦрдХ рдПрдХ рд╣реА рдЯреИрдЧ рдХреЛ рдХрдИ рдмрд╛рд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреА рдбреЙрдХ рдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдмреЗрд╕ рдЗрдореЗрдЬ рдмрд┐рд▓реНрдб рдХреЗ рдмреАрдЪ рдмрджрд▓ рд╕рдХрддреА рд╣реИред рдЖрдзрд╛рд░ рдЫрд╡рд┐ рдореЗрдВ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдХрд╛рд░рдг рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ:

  • рдЙрдкрд▓рдмреНрдз рд╕рдмрд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреИрдЧ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВред рдпрджрд┐ рдЫрд╡рд┐ рдХреЗ рдХрдИ рдЯреИрдЧ рд╣реИрдВ, рдЬреИрд╕реЗ :8 рдФрд░ :8.0.1 рдпрд╛ рд╕рдо :8.0.1-alpine , рдмрд╛рдж рд╡рд╛рд▓рд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЫрд╡рд┐ рдХрд╛ рд╕рдмрд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд┐рдВрдХ рд╣реИред рдирд╡реАрдирддрдо рдЬреИрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВред рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреИрдЧ рдХреЛ рдкрд┐рди рдХрд░рддреЗ рд╕рдордп, рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЗрд╕реЗ рдЕрдВрддрддрдГ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЫрд╡рд┐ рдЯреИрдЧ рдЕрдкреНрд░рд╛рдкреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрди рд╕рдореВрд╣реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдкреНрд░рджрд░реНрд╢рди рд╕реАрдорд╛ рдмрди рдЬрд╛рддреА рд╣реИ рдЬреЛ рдЗрд╕ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдпрд╛ рдЦрд╛рддреЗ рдореЗрдВ рдЙрд╕ рдЫрд╡рд┐ рдХрд╛ рд╕реНрдерд╛рдиреАрдп рджрд░реНрдкрдг рд╢реБрд░реВ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдЖрдкрдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд░рдЦрд░рдЦрд╛рд╡ рд▓рд╛рдЧрддреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдЙрд╕ рдЫрд╡рд┐ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрдиреА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдк рдЬрд┐рд╕ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдмрджрд▓ рдирд╣реАрдВ рд░рд╣реА рд╣реИред
  • рдЕрддреНрдпрдВрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрдиреЛ! рдЯреИрдЧ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ SHA256 рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫрд╡рд┐ рдХреЛ рдбреЙрдХрд░ рдЫрд╡рд┐ рдкрд░ рдЦреАрдВрдЪреЗрдВ, рдЬреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╣рд░ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдЫрд╡рд┐ рдорд┐рд▓рддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ SHA256 рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдЦрд┐рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ - рдпрджрд┐ рдЫрд╡рд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣реИрд╢ рдЕрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

7. ADD рдХреЗ рдмрдЬрд╛рдп COPY рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рдЬрдм рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдбреЙрдХрд░ рд╣реЛрд╕реНрдЯ рд╕реЗ рдлрд╛рдЗрд▓ рдХреА рдирдХрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдХрдорд╛рдВрдб рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: COPY рдФрд░ ADD ред рдХрдорд╛рдВрдб рдкреНрд░рдХреГрддрд┐ рдореЗрдВ рд╕рдорд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рднрд┐рдиреНрдирддрд╛ рд╣реИ:

  • COPY - рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддрд╛ рд╣реИ, рд╕реНрд░реЛрдд рдФрд░ рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИред COPY рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рд╕реНрдерд╛рдиреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред
  • ADD - рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рддрд╛ рд╣реИ, рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЧрдВрддрд╡реНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЛ рдПрдХ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдпрд╛ рджреВрд░рд╕реНрде URL рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╡рд╣ рдЧрдВрддрд╡реНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреНрд░рдорд╢рдГ рд▓реЛрдб рдпрд╛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред
    рдпрджреНрдпрдкрд┐ ADD рдФрд░ COPY рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдЗрддрдирд╛ рдореМрд▓рд┐рдХ рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░ рднреА рд╡реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рдореБрджреНрджреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдЧрд░реВрдХ рд░рд╣реЗрдВ:
  • рдЬрдм рджреВрд░рд╕реНрде URL рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдХреЛ рдЙрд╕рдХреЗ рдореВрд▓ рд╕реНрдерд╛рди рдкрд░ рд╕реАрдзреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рд╕реЗ рдмреНрд░реЛрдХрд░ рд╣рдорд▓реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреВрд░рд╕реНрде URL рдХреА рдЙрддреНрдкрддреНрддрд┐ рдФрд░ рдкреНрд░рд╛рдорд╛рдгрд┐рдХрддрд╛ рдХреЛ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред COPY рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рджреВрд░рд╕реНрде URL рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕реНрд░реЛрдд рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд TLS рдХрдиреЗрдХреНрд╢рди рдкрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЙрдирдХреА рдЙрддреНрдкрддреНрддрд┐ рднреА рд╕рддреНрдпрд╛рдкрд┐рдд рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
  • рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕реНрдерд╛рди рдФрд░ рдкрд░рддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреЛрдЯреНрд╕: COPY рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЖрдк рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдЬреЛрдбрд╝ рдХреЛ рджреВрд░рд╕реНрде рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдкрд░рддреЛрдВ рдореЗрдВ рдЕрдирдкреИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдХреИрд╢ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рджреВрд░рд╕реНрде рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЙрди рд╕рднреА рдХреЛ рдПрдХ рдЖрд░рдпреВрдПрди рдХрдорд╛рдВрдб рдореЗрдВ рдорд┐рд▓рд╛рдПрдВ, рдЬреЛ рдмрд╛рдж рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб, рдЕрд░реНрдХ рдФрд░ рд╢реБрджреНрдз рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрдИ рдкрд░рддреЛрдВ рдкрд░ рдПрдХрд▓-рдкрд░рдд рдСрдкрд░реЗрд╢рди рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдПрдбреАрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред
  • рдЬрдм рд╕реНрдерд╛рдиреАрдп рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ ADD рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЧрдВрддрд╡реНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдЬрд╝рд┐рдк рдмрдо рдФрд░ рдЬрд┐рдк рд╕реНрд▓рд┐рдк рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рд╣реЛрдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдЬреЛрдбрд╝рддрд╛ рд╣реИ , рдЬрд┐рд╕реЗ рддрдм рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

8. рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рдЫрд╡рд┐ рд▓реЗрдмрд▓ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред рд╕рдмрд╕реЗ рдЖрдо рдЯреИрдЧ "рдЕрдиреБрд░рдХреНрд╖рдХ" рд╣реИ, рдЬреЛ рдЗрд╕ рдЫрд╡рд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдИрдореЗрд▓ рдкрддреЗ рдФрд░ рдирд╛рдо рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд LABEL рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЬреЛрдбрд╝реЗрдВ:

 LABEL maintainer="me@acme.com" 

рдЕрдиреБрд░рдХреНрд╖рдХ рдХреЗ рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреЛрдИ рднреА рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЬреЛрдбрд╝реЗрдВред рдЗрд╕ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрд╢, рдЙрдкрдпреБрдХреНрдд рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рд▓рд┐рдВрдХ, рдЧреБрдгрд╡рддреНрддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ (рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рд╣реИрдВ?), рд╕реНрд░реЛрдд рдХреЛрдб, SECURITY.TXT рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕реНрдерд╛рди рдХрд╛ рд▓рд┐рдВрдХ рдЖрджрд┐ред

SECURITY.TXT (RFC5785) рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИ, рдЬреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирдП рдЬреЛрдбрд╝рддреЗ рд╕рдордп рдЖрдкрдХреА рдбреЙрдХрд░ рд▓реЗрдмрд▓ рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рдкреНрд░рдХрдЯреАрдХрд░рдг рдиреАрддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ:

 LABEL securitytxt="https://www.example.com/.well-known/security.txt" 

Docker рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд▓реЗрдмрд▓ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦреЗрдВ:

https://label-schema.org/rc1/

9. рдЫреЛрдЯреА рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рдЬрдм рдЖрдк Dockerfile рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдХрдИ рдХрд▓рд╛рдХреГрддрд┐рдпрд╛рдВ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ рдмрд┐рд▓реНрдб рд╕рдордп рдкрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреА рд╣реИрдВред рдпрд╣ рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг, рдЕрд╕реНрдерд╛рдпреА рдлрд╛рдЗрд▓реЗрдВ, рд░рд╣рд╕реНрдп рдЖрджрд┐ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рдореВрд▓ рдЫрд╡рд┐ рдореЗрдВ рдЗрди рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рд╕реЗ рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ рдФрд░ рд╣рдорд▓реЗ рдХреА рд╕рддрд╣ рдХреЛ рднреА рдмрдврд╝рд╛ рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЕрдзрд┐рдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рд╡рд╣реА рд╕рд╣реА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЙрдХрд░ рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдкрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред

рдЧреЛрд▓рдВрдЧ рдЗрд╕рдХрд╛ рдмреЗрд╣рддрд░реАрди рдЙрджрд╛рд╣рд░рдг рд╣реИред рдЧреЛрд▓рд╛рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдЧреЛ рд╕рдВрдХрд▓рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХрдВрдкрд╛рдЗрд▓рд░ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдмрд┐рдирд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ, рд╕реНрд╡рдЪреНрдЫ рдЫрд╡рд┐рдпреЛрдВ рд╕рд╣рд┐рддред

рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдбреЙрдХрд░ рдореЗрдВ рдЪрд░рдгреЛрдВ рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЖрдкрдХреЛ рдЕрд╕реЗрдВрдмрд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдХрдИ рдЕрд╕реНрдерд╛рдпреА рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рдЫрд╡рд┐ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЙрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдХреЙрдкреА рдХрд┐рдпрд╛ рдерд╛ред рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рдЪрд┐рддреНрд░ рд╣реИрдВ:

  • рдкрд╣рд▓реА рдЫрд╡рд┐ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реЗ рдЖрдХрд╛рд░ рдХреА рд╣реИ, рдЬреЛ рдХрдИ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдпреБрдЧреНрдорд┐рдд рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рджреВрд╕рд░реА рдЫрд╡рд┐ рдЖрдХрд╛рд░ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдмрд╣реБрдд рд╣рд▓реНрдХреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреА рдХреЗрд╡рд▓ рдкреНрд░рддрд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

10. рд▓рд┐рдВрдЯрд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ


рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдФрд░ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд╛рд▓рди рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕реЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдРрд╕рд╛ рд╣реА рдПрдХ рд▓рд┐рдВрдЯрд░ рд╣реИ рд╣реЙрд▓рд┐рдВрдЯ ред рдпрд╣ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред



рдПрдХ рдПрдХреАрдХреГрдд рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг (IDE) рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рд╣реИрдбреЛрд▓рд┐рдВрдЯ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдбреЛрд▓реНрдЯ рдХреЛ рдПрдХ VSCode рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп , рдЗрдирдкреБрдЯ рдХреЗ рджреМрд░рд╛рди рд▓рд╛рдЗрдирд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВред рдпрд╣ рддреЗрдЬреА рд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ dockerfiles рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдЕрдкрдиреЗ рдбреЙрдХрд░ рдЪрд┐рддреНрд░реЛрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВред

Source: https://habr.com/ru/post/hi482044/


All Articles