
рдЬрдм рдореИрдВрдиреЗ рдХрд╛рд░ рдЪрд▓рд╛рдирд╛ рд╕реАрдЦрд╛, рддреЛ рдкрд╣рд▓реЗ рдкрд╛рда рдореЗрдВ рдкреНрд░рд╢рд┐рдХреНрд╖рдХ рд░рд┐рд╡рд░реНрд╕ рдореЗрдВ рдЪреМрд░рд╛рд╣реЗ рдкрд░ рдЧрдпрд╛, рдФрд░ рдлрд┐рд░ рдХрд╣рд╛ рдХрд┐ рдЖрдкрдХреЛ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рдХрднреА рднреА рдирд╣реАрдВред рдпрд╣ рдирд┐рдпрдо рдореБрдЭреЗ рддреБрд░рдВрдд рдФрд░ рдЬреАрд╡рди рднрд░ рдпрд╛рдж рд░рд╣рд╛ред
рдЖрдкрдиреЗ рдЧреНрд░рд┐рдЧрд░реА рдУрд╕реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдмрдЪреНрдЪреЛрдВ рдХреЛ "рдмреБрд░рд╛ рд╕рд▓рд╛рд╣" рдкрдврд╝рд╛, рдФрд░ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рддрдиреА рдЖрд╕рд╛рдиреА рд╕реЗ рдФрд░ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЖрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдП, рдЗрд╕ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЗрдЦ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЧрд▓рдд рдбреЙрдХрд░реАрдлрд╛рдЗрд▓ рд▓рд┐рдЦрдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рдЖрдПред рдореИрдВ рдЗрд╕ рдЕрдВрддрд░ рдХреЛ рднрд░рддрд╛ рд╣реВрдВред рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЬрд┐рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдореБрдЭреЗ рд╕рдорд░реНрдерди рдорд┐рд▓реЗ, рд╡рд╣рд╛рдВ рдРрд╕реЗ рдбреЙрдХрдлрд╛рдЗрд▓реНрд╕ рдХрдо рд╣реЛрдВрдЧреЗред
рд╕рднреА рдирд╛рдпрдХ, рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рдФрд░ рдХрд░реНрддрд╛-рдзрд░реНрддрд╛ рдХрд╛рд▓реНрдкрдирд┐рдХ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╕реНрд╡рдпрдВ рдХреЛ рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдХреНрд╖рдорд╛ рдХрд░реЗрдВред
рдПрдХ рдбреЙрдХрд░реАрдлрд╛рдЗрд▓, рдУрдорд┐рдирд╕ рдФрд░ рднрдпрд╛рдирдХ рдмрдирд╛рдПрдБ
рдкреАрдЯрд░ (рд╡рд░рд┐рд╖реНрда рдЬрд╛рд╡рд╛ / рд░реВрдмреА / рдкреАрдПрдЪрдкреА рдбреЗрд╡рд▓рдкрд░): рд╕рд╣рдХрд░реНрдореА рд╡рд╕реАрд▓реА, рдХреНрдпрд╛ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдбреЙрдХрдЯрд░ рдХреЛ рдПрдХ рдирдпрд╛ рдореЙрдбреНрдпреВрд▓ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ?
рддреБрд▓рд╕реА (рдХрдирд┐рд╖реНрда): рдирд╣реАрдВ, рдореИрдВрдиреЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВ рдЗрд╕ рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ред рдЗрд╕ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЗрдЦ, рдореЗрд░реА рдЖрдБрдЦреЗрдВ рдЪреМрдбрд╝реА рд╣реИрдВред
рдкреАрдЯрд░: рд╣рдореЗрдВ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдПрдХ рд╕рдордп рд╕реАрдорд╛ рдорд┐рд▓ рдЧрдИ рдереАред рдЪрд▓реЛ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗред рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рддреБрд▓рд╕реА: рдореИрдВ рдореВрд▓ рдЫрд╡рд┐ рдирд╣реАрдВ рдЪреБрди рд╕рдХрддрд╛, рддрд╛рдХрд┐ рдпрд╣ рдиреНрдпреВрдирддрдо рд╣реЛ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рд╡рд╣ рд╕рдм рдХреБрдЫ рдерд╛ рдЬрд┐рд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред
рдкреАрдЯрд░: ubuntu рдХреА рдЫрд╡рд┐ рд▓реЗ рд▓реЛ, рдЗрд╕рдореЗрдВ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдХреНрдпрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдпрд╣ рдХрд╛рдо рдореЗрдВ рдЖрдПрдЧрд╛ред рдФрд░ рдирд╡реАрдирддрдо рдЯреИрдЧ рд▓рдЧрд╛рдирд╛ рди рднреВрд▓реЗрдВ рддрд╛рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг рд╣рдореЗрд╢рд╛ рдирд╡реАрдирддрдо рд░рд╣реЗред
рдФрд░ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдореЗрдВ, рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ:
FROM ubuntu:latest
рдкреАрдЯрд░: рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ, рд╣рдордиреЗ рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдкрд░ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рд╣реИ?
рддреБрд▓рд╕реА: рддреЛ рдорд╛рдгрд┐рдХ, рд╡рд╣рд╛рдБ рдПрдХ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдФрд░ рд╕реЗрд╡рд╛ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкреАрдЯрд░: рд╣рд╛рдБ, рд╣рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП: рдорд╛рдгрд┐рдХ, рдмрдВрдбрд▓рд░, рдиреЛрдбрдЬ, рдЗрдореЗрдЬрдореИрдЬрд┐рдХ рддреЛ рдФрд░ рдХреНрдпрд╛ ... рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдирдП рдкреИрдХреЗрдЬ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВред
рддреБрд▓рд╕реА: рдФрд░ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рдмрдирд╛рдПрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдЬрдбрд╝ рд╕реЗ рдирд╣реАрдВ?
рдкреАрдЯрд░: рдУрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдлрд┐рд░ рднреА рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдореВрд░реНрдЦред
рд╡рд╕реАрд▓реА: рдореБрдЭреЗ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓рдЧрднрдЧ 15 рдорд┐рдирдЯ, рдпрд╣ рд╕рдм рдПрдХ рдЯреАрдо рдореЗрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкрдврд╝рд╛ рдХрд┐ ...
(рдкреАрдЯрд░ рдиреЗ рд╕реВрдХреНрд╖реНрдо рдФрд░ рдмрд╣реБрдд рд╕реНрдорд╛рд░реНрдЯ рдЬреВрди рдХреЛ рдЕрд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрд╛рдзрд┐рдд рдХрд┐рдпрд╛ред)
рдкреАрдЯрд░: рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯреАрдореЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВ, рдФрд░ рдкрдврд╝рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред
Dockerfile рдмрдврд╝ рд░рд╣рд╛ рд╣реИ:
FROM ubuntu:latest RUN apt-get update RUN apt-get upgrade RUN apt-get -y install libpq-dev imagemagick gsfonts ruby-full RUN gem install bundler RUN curl -sL https://deb.nodesource.com/setup_9.x | sudo bash - RUN apt-get install -y nodejs RUN bundle install --without development test --path vendor/bundle RUN rm -rf /usr/local/bundle/cache/*.gem RUN apt-get clean RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
рддрдм рдЗрдЧреЛрд░ рдЗрд╡рд╛рдиреЛрд╡рд┐рдЪ рдиреЗ рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ рдзрд╛рд╡рд╛ рдмреЛрд▓рд╛, DevOps (рд▓реЗрдХрд┐рди рджреЗрд╡ рд╕реЗ рдЕрдзрд┐рдХ рдСрдкреНрд╕), рдЪрд┐рд▓реНрд▓рд╛рдпрд╛:
рдР: рдкреЗрдЯреНрдпрд╛, рдЖрдкрдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдлрд┐рд░ рд╕реЗ рдареЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рддреЛрдбрд╝ рджрд┐рдпрд╛, рдпрд╣ рдХрдм рдЦрддреНрдо рд╣реЛрддрд╛ рд╣реИ ...ред
рдереЛрдбрд╝реА рдЭрдбрд╝рдк рдХреЗ рдмрд╛рдж, рдЗрдЧреЛрд░ рдЗрд╡рд╛рдиреЛрд╡рд┐рдЪ рд╢рд╛рдВрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рд╕рд╣рдпреЛрдЧреА рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
AI: рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?
рддреБрд▓рд╕реА: рдкреАрдЯрд░ рдореБрдЭреЗ рдПрдХ рдирдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░рдлрд╛рдЗрд▓ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
II: рдЖрдЗрдП рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ ... рдЖрдкрдиреЗ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рд╣реИ, рдЖрдк рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдПрдХ рдЕрд▓рдЧ рдХрдорд╛рдВрдб рд╕реЗ рд╕рд╛рдл рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓реЗрдпрд░ рд╣реИ ... рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЬреЗрдордлрд╛рдЗрд▓ рдХреА рдирдХрд▓ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдирд┐рд░реНрднрд░рддрд╛ рдХреИрд╕реЗ рд░рдЦрддреЗ рд╣реИрдВ! рдФрд░ рд╡реИрд╕реЗ рднреА, рдпрд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред
рдкреАрдЯрд░: рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗ, рд╣рдо рдЗрд╕реЗ рдХрд┐рд╕реА рддрд░рд╣ рд╕рдордЭ рд▓реЗрдВрдЧреЗред
рдЗрдЧреЛрд░ рдЗрд╡рд╛рдиреЛрд╡рд┐рдЪ рдЙрджрд╛рд╕ рд░реВрдк рд╕реЗ рдЪрд┐рд▓реНрд▓рд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕рдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рддреЛрдбрд╝рд╛ рд╣реИред
рдкреАрдЯрд░: рд╣рд╛рдВ, рд▓реЗрдХрд┐рди рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рд╣реА рдмрд╛рдд рдХрд╣реА, рдЖрдкрдХреЛ рдЗрд╕реЗ рдЫрд╡рд┐ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдФрд░ ssh рдФрд░ рд╕реБрдкрд░рд╡рд╛рдЗрдЬрд╝рд░ рдХреЛ рддреБрд░рдВрдд рджреВрд░ рдХрд░ рджреЗрдВ, рдЕрдиреНрдпрдерд╛ рд╣рдо рдбреЗрдореЙрди рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред
рд╡рд╕реАрд▓реА: рддрдм рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдЬреЗрдордлрд╛рдЗрд▓ рдФрд░ рдЬреЗрдордлрд╛рдЗрд▓.рд▓реЙрдХ рдХреА рдХреЙрдкреА рдХрд░рддрд╛ рд╣реВрдВ, рдлрд┐рд░ рдореИрдВ рд╕рдм рдХреБрдЫ рдбрд╛рд▓ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рдлрд┐рд░ рдореИрдВ рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдкреА рдХрд░ рд▓реЗрддрд╛ рд╣реВрдВред рдпрджрд┐ Gemfile рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ рдкрд░рдд рдХреЛ рдХреИрд╢ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдкреАрдЯрд░: рдЖрдк рдЗрди рдкрд░рддреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реИрдВ, рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХреЙрдкреА рдХрд░реЗрдВред рддреБрд░рдВрдд рдХреЙрдкреА рдХрд░ рд▓реЗрдВред рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ред
рдЕрдм рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ рдбреЙрдХрд░реАрдлрд╛рдЗрд▓:
FROM ubuntu:latest COPY ./ /app WORKDIR /app RUN apt-get update RUN apt-get upgrade RUN apt-get -y install libpq-dev imagemagick gsfonts ruby-full ssh supervisor RUN gem install bundler RUN curl -sL https://deb.nodesource.com/setup_9.x | sudo bash - RUN apt-get install -y nodejs RUN bundle install --without development test --path vendor/bundle RUN rm -rf /usr/local/bundle/cache/*.gem RUN apt-get clean RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
рдкреАрдЯрд░: рддреЛ рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╣реИ?
рддреБрд▓рд╕реА: рдирд╣реАрдВ, рдирд╣реАрдВред рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рдХрд░реВрдВрдЧрд╛ред
рдкреАрдЯрд░: рддреЛ рдХрд░ рд▓реЛред рдЪрд▓реЛ рдЕрдм рдЗрдирд┐рдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реНрдХреЗрдЪ рдХрд░реЗрдВ рдЬреЛ рд╕рдм рдХреБрдЫ рдЪрд▓рд╛рдПрдЧреАред рддреЛ, рдЗрд╕рдХреЗ рд╕рд╛рде, рдЖрдк nohup рдХреЗ рд╕рд╛рде ssh рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдо рдХрдВрдЯреЗрдирд░ рд╕реЗ рдЬреБрдбрд╝ рд╕рдХреЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реБрдЖред рдлрд┐рд░ рд╕реБрдкрд░рд╡рд╛рдЗрдЬрд░ рдХреЛ рднреА рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ред рдареАрдХ рд╣реИ, рддреЛ рдмрд╕ рдпрд╛рддреНрд░реА рдЪрд▓рд╛рддреЗ рд╣реИрдВред
рдкреНрд░рд╢реНрди: рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдкрдврд╝рд╛ рд╣реИ рдХрд┐ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдбреЙрдХрд░ рдХреЛ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖ рд╣реИ рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд╛рд▓реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
P: рдЕрдкрдиреЗ рд╕рд┐рд░ рдХреЗ рд╕рд╛рде рдкрд░реЗрд╢рд╛рди рдордд рдХрд░реЛред рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХреИрд╕реЗ? рдЖрдк рдЗрд╕реЗ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреИрд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВ? рдмрддрд╛ рджреЗрдВ рдХрд┐ рдЗрдЧреЛрд░ рдЗрд╡рд╛рдиреЛрд╡рд┐рдЪ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рди рдХрд┐ рдЗрд╕ рдмрд╛рдд рдХреЗ рд▓рд┐рдП рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╡реЗрддрди рдорд┐рд▓рддрд╛ рд╣реИред рд╣рдорд╛рд░рд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╣реИред рдФрд░ рд╡реИрд╕реЗ рднреА, рдЙрд╕рдХреЗ рд▓рд┐рдП рдбреЙрдХрдлрд╛рдЗрд▓ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХрд╣реЗрдВред
рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ 10 рдорд┐рдирдЯ рдФрд░ рджреЛ рд╡реАрдбрд┐рдпреЛ рдХреЗ рдмрд╛рджред
рдкреНрд░рд╢реНрди: рдореИрдВрдиреЗ рд╕рдм рдХреБрдЫ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рднреА рдЬреЛрдбрд╝реАрдВред
P: рджрд┐рдЦрд╛рдУ!
Dockerfile рдХрд╛ рддрд╛рдЬрд╝рд╛ рд╕рдВрд╕реНрдХрд░рдг:
FROM ubuntu:latest # COPY ./ /app WORKDIR /app # RUN apt-get update # RUN apt-get upgrade # RUN apt-get -y install libpq-dev imagemagick gsfonts ruby-full ssh supervisor # bundler RUN gem install bundler # nodejs RUN curl -sL https://deb.nodesource.com/setup_9.x | sudo bash - RUN apt-get install -y nodejs # RUN bundle install --without development test --path vendor/bundle # RUN rm -rf /usr/local/bundle/cache/*.gem RUN apt-get clean RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* # , , . CMD [тАЬ/app/init.shтАЭ]
P: рдорд╣рд╛рди, рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рд╣реИред рдФрд░ рд░реВрд╕реА рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдкрдардиреАрдп рд╣реИрдВ, рд╣рд░ рдХреЛрдИ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдореИрдВрдиреЗ рддреБрдореНрд╣реЗрдВ рд╕рдм рдХреБрдЫ рд╕рд┐рдЦрд╛рдпрд╛, рдлрд┐рд░ рддреБрдо рдЦреБрдж рдХрд░ рд╕рдХрддреЗ рд╣реЛред рдЖрдЗрдП рдЬрд╛рдиреЗ рдХреЙрдлреА рдкреАрдиреЗ ...
рдЦреИрд░, рдпрд╣рд╛рдБ рд╣рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рднрдпрд╛рдирдХ рдбреЙрдХрдлрд╛рдЗрд▓ рдорд┐рд▓рд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рдЗрдЧреЛрд░ рдЗрд╡рд╛рдиреЛрд╡рд┐рдЪ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рдЖрдБрдЦреЗрдВ рдПрдХ рдФрд░ рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП рдЪреЛрдЯ рдкрд╣реБрдВрдЪрд╛рдПрдВрдЧреАред рдбреЙрдХрд░рдлрд╛рдЗрд▓, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдФрд░ рднреА рдмрджрддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдкреВрд░реНрдгрддрд╛ рдХреА рдХреЛрдИ рд╕реАрдорд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд░реЗрдЧрд╛ред
рдореИрдВ рдЧреНрд░реЗрдЧрд░реА рдУрд╕реНрдЯрд░ рдХреЗ рдПрдХ рдЙрджреНрдзрд░рдг рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:
рдпрджрд┐ рдЖрдк рдЕрднреА рддрдХ рджреГрдврд╝ рдирд╣реАрдВ рд╣реИрдВ
рдЙрдиреНрд╣реЛрдВрдиреЗ рдЬреАрд╡рди рдореЗрдВ рд╕рдбрд╝рдХ рдХреЛ рдЪреБрдирд╛ рд╣реИ,
рдФрд░ рдЖрдкрдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВ
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдХрд╛рдо рдХрд░реЗрдВ,
рдкреЛрд░реНрдЪ рдореЗрдВ рд░реЛрд╢рдиреА рдорд╛рд░реЛ -
рд▓реЛрдЧ рдХрд╣реЗрдВрдЧреЗ рдзрдиреНрдпрд╡рд╛рджред
рдЖрдк рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░реЗрдВрдЧреЗ
рдмрд┐рдЬрд▓реА рдХреА рд░рдХреНрд╖рд╛ рдХрд░реЗрдВред
UPD : рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡реЗ рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рдЗрди рдбреЙрдХрдлрд╛рдЗрд▓реНрд╕ рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИред рджреВрд╕рд░реЗ рджрд┐рди рдореИрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдЕрдВрдХрди рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд▓рд┐рдЦреВрдВрдЧрд╛ред