āĻāĻŽāĻžāĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯
āĻāĻā§āĻ° āĻĒāĻ°ā§āĻŦā§āĻ° āĻ¸āĻžāĻ°āĻ¸āĻāĻā§āĻˇā§āĻĒ: āĻĻā§āĻāĻāĻ¨ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻļāĻā§āĻ¤ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§āĻŽāĻžāĻ° āĻ āĻ§ā§āĻ¨ā§ āĻāĻāĻāĻŋ āĻĄāĻāĻžāĻ°āĻĢāĻžāĻāĻ˛ āĻ°āĻāĻ¨āĻž āĻāĻ°ā§ā§ˇ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ, āĻ āĻĒāĻ¸ āĻāĻāĻ° āĻāĻāĻžāĻ¨ā§āĻāĻŋāĻ āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻāĻ¸ā§āĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻĄāĻāĻžāĻ°āĻĢāĻžāĻāĻ˛ āĻāĻ¤āĻāĻžāĻ āĻāĻžāĻ°āĻžāĻĒ āĻ¯ā§ AI āĻšāĻžāĻ°ā§āĻ āĻ ā§āĻ¯āĻžāĻāĻžāĻā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ā§āĨ¤
āĻāĻāĻ¨ āĻāĻ¸ā§āĻ¨ āĻāĻ āĻĄāĻāĻžāĻ°āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻā§ āĻā§āĻ˛ āĻ¤āĻž āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻž āĻ¯āĻžāĻāĨ¤
āĻ¤ā§, āĻāĻ āĻ¸āĻĒā§āĻ¤āĻžāĻš āĻā§āĻā§ āĻā§āĻā§āĨ¤
āĻĻā§āĻŦ āĻĒā§āĻāĻŋāĻ¯āĻŧāĻž āĻāĻ āĻāĻžāĻĒ āĻāĻĢāĻŋāĻ° āĻāĻĒāĻ° āĻĄāĻžāĻāĻ¨āĻŋāĻ āĻ°ā§āĻŽā§ āĻ āĻĒāĻ¸ āĻāĻāĻ° āĻāĻāĻžāĻ¨ā§āĻāĻŋāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻĻā§āĻāĻž āĻāĻ°ā§āĻ¨āĨ¤
āĻĒāĻŋ: āĻāĻāĻ° āĻāĻāĻžāĻ¨ā§āĻāĻŋāĻ, āĻāĻĒāĻ¨āĻŋ āĻāĻŋ āĻā§āĻŦ āĻŦā§āĻ¯āĻ¸ā§āĻ¤? āĻāĻŽāĻŋ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻā§āĻĨāĻžāĻ¯āĻŧ āĻā§āĻ˛ āĻāĻ°ā§āĻāĻŋāĨ¤
AI: āĻāĻāĻž āĻāĻžāĻ˛, āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°āĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻĻā§āĻāĻž āĻāĻ°ā§āĻ¨ āĻ¨āĻž āĻ¯āĻžāĻ°āĻž āĻļā§āĻˇāĻŖā§ āĻāĻā§āĻ°āĻšā§āĨ¤
āĻĒā§āĻ°āĻĨāĻŽā§, āĻāĻ¸ā§āĻ¨ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻāĻŽāĻ¤:
- āĻĄāĻāĻžāĻ° āĻŽāĻ¤āĻžāĻĻāĻ°ā§āĻļ: āĻāĻ āĻ§āĻžāĻ°āĻ - āĻāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĨ¤
- āĻĒāĻžāĻ¤ā§āĻ° āĻ¯āĻ¤ āĻā§āĻ āĻšāĻŦā§ āĻ¤āĻ¤ āĻāĻžāĻ˛ā§āĨ¤
- āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¯āĻžāĻļā§ āĻĨā§āĻā§ āĻ¯āĻ¤ āĻŦā§āĻļāĻŋ āĻ¨ā§āĻŦā§āĻ¨, āĻ¤āĻ¤ āĻāĻžāĻ˛āĨ¤
P: āĻā§āĻ¨ āĻāĻāĻāĻŋ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§?
āĻāĻāĻ: āĻĄāĻāĻžāĻ°, āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻĒāĻŋāĻĄ 1 āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋāĻ° āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖ āĻāĻ°ā§āĨ¤ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻŽāĻžāĻ°āĻž āĻā§āĻ˛ā§, āĻĄāĻāĻžāĻ° āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĨ¤ āĻ§āĻ°āĻž āĻ¯āĻžāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻāĻŋ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻ˛āĻā§, āĻŦāĻž āĻŽā§āĻ˛ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻĒāĻŋāĻĄ 1 āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻ˛āĻā§ āĻ¨āĻžāĨ¤ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻŽāĻžāĻ°āĻž āĻā§āĻ˛ā§, āĻĄāĻāĻžāĻ° āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻžāĻ¨āĻŦā§ āĻ¨āĻžāĨ¤
āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻāĻ° āĻā§āĻ¨ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ¨āĻž āĻĨāĻžāĻā§, āĻ āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻĒāĻ¨āĻžāĻ° āĻĄāĻāĻžāĻ°āĻĢāĻžāĻāĻ˛ āĻĻā§āĻāĻžāĻ¨āĨ¤
āĻāĻŦāĻ āĻĒā§āĻāĻŋāĻ¯āĻŧāĻž āĻĻā§āĻāĻŋāĻ¯āĻŧā§āĻā§āĻ¨:
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/*
RUN rake assets:precompile
# ĐĐ°ĐŋŅŅĐēĐ°ĐĩĐŧ ŅĐēŅиĐŋŅ, ĐŋŅи ŅŅĐ°ŅŅĐĩ ĐēĐžĐŊŅĐĩĐšĐŊĐĩŅĐ°, ĐēĐžŅĐžŅŅĐš СаĐŋŅŅŅиŅ вŅĐĩ ĐžŅŅĐ°ĐģŅĐŊĐžĐĩ.
CMD ["/app/init.sh"]
āĻāĻāĻ: āĻāĻš, āĻāĻ¸ā§āĻ¨ āĻāĻāĻŋāĻā§ āĻā§āĻ°āĻŽā§ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻāĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻžāĻāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻāĻ°āĻž āĻ¯āĻžāĻ:
FROM ubuntu:latest
āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¯āĻžāĻ āĻ¨āĻŋāĻ¨ latest
. āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ latest
āĻ
āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻĒāĻ°āĻŋāĻŖāĻ¤āĻŋāĻ° āĻĻāĻŋāĻā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°ā§āĻ¨, āĻāĻŋāĻ¤ā§āĻ° āĻ°āĻā§āĻˇāĻŖāĻžāĻŦā§āĻā§āĻˇāĻŖāĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¸āĻš āĻāĻŦāĻŋāĻ° āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§, āĻāĻ āĻāĻŋāĻ¤ā§āĻ°āĻāĻŋ āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻā§āĻ¯āĻžāĻ āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§āĨ¤ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻ§āĻžāĻ°āĻ, āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽāĻāĻžāĻŦā§, āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§ āĻĻā§āĻ¯āĻŧ āĻāĻŦāĻ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻžāĻ°āĻžāĻĒāĻāĻžāĻŦā§, āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻ¨ āĻŦāĻžāĻāĻā§āĻ˛āĻŋ āĻ§āĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯āĻž āĻāĻā§ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻāĻŋāĻ˛ āĻ¨āĻžāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻā§āĻ° āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻš āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻŖāĻžāĻā§āĻ OS āĻ¸āĻš āĻāĻāĻāĻŋ āĻāĻŋāĻ¤ā§āĻ° āĻ¤ā§āĻ˛āĻā§āĻ¨, āĻ¯āĻž āĻ§āĻžāĻ°āĻāĻāĻŋāĻ° āĻāĻ˛āĻŋāĻāĻŽāĻā§ āĻ¸ā§āĻĢā§āĻ¤ āĻāĻ°ā§āĨ¤ āĻāĻŦāĻ āĻ¯āĻ¤ āĻŦā§āĻļāĻŋ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°, āĻ¤āĻ¤ āĻŦā§āĻļāĻŋ āĻāĻ°ā§āĻ¤ āĻāĻŦāĻ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻžāĨ¤
āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻŦāĻŋāĻāĻŋ āĻ¯āĻ¤ āĻŦāĻĄāĻŧ āĻšāĻŦā§, āĻšā§āĻ¸ā§āĻā§ āĻāĻŦāĻ āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻ¤ā§ āĻāĻāĻŋ āĻ¤āĻ¤ āĻŦā§āĻļāĻŋ āĻāĻžāĻ¯āĻŧāĻāĻž āĻ¨ā§āĻ¯āĻŧ (āĻāĻĒāĻ¨āĻŋ āĻāĻŋ āĻā§āĻĨāĻžāĻ āĻāĻŦāĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻ¨)?
P: āĻšā§āĻ¯āĻžāĻ, āĻ āĻŦāĻļā§āĻ¯āĻ, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°āĻŋ āĻāĻā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°ā§āĻ¨āĨ¤
AI: āĻ¤āĻžāĻšāĻ˛ā§, āĻāĻŽāĻŋ āĻāĻŋāĻ¸ā§āĻ° āĻāĻĨāĻž āĻŦāĻ˛āĻāĻŋ?... āĻāĻš āĻšā§āĻ¯āĻžāĻ, āĻāĻ˛āĻŋāĻāĻŽ... āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§āĻ° āĻ˛ā§āĻĄāĻ āĻŦāĻžāĻĄāĻŧāĻā§āĨ¤ āĻāĻāĻāĻŋ āĻāĻāĻ āĻāĻŋāĻ¤ā§āĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻ˛āĻā§āĻˇāĻŖā§āĻ¯āĻŧ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ āĻ āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨ āĻŦāĻŋāĻ˛ā§āĻĄ, āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻŦāĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻĨāĻžāĻā§, āĻ¤āĻāĻ¨ āĻāĻāĻŋ āĻ˛āĻā§āĻˇāĻŖā§āĻ¯āĻŧāĨ¤ āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° AWS-āĻ āĻāĻļā§āĻŦāĻ°ā§āĻ° āĻŽā§āĻĄ āĻ¨āĻž āĻĨāĻžāĻā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻŽāĻšāĻžāĻāĻžāĻāĻ¤āĻŋāĻ āĻŦāĻŋāĻ˛āĻ āĻĒāĻžāĻŦā§āĻ¨āĨ¤
āĻ
āĻ¤āĻāĻŦ, āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻ āĻŋāĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻāĻŦāĻ āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻš āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻāĻŋāĻ¤ā§āĻ° āĻāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¨āĻŋāĻ¨: FROM ruby:2.5.5-stretch
P: āĻāĻš, āĻāĻŽāĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻāĻŋāĨ¤ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻŦāĻ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻāĻŽāĻŋ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻāĻŦāĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ? āĻāĻŽāĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ¨āĻŦā§ āĻā§āĻ¨āĻāĻž āĻāĻŽāĻžāĻ° āĻĻāĻ°āĻāĻžāĻ°?
AI: āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻŦāĻŋāĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ
āĻ
āĻ¤ā§āĻ¯ā§āĻā§āĻ: āĻāĻŦāĻŋāĻā§āĻ˛āĻŋ āĻ¸āĻāĻā§āĻšā§āĻ¤ āĻšāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻŽāĻŋāĻ¨āĻŋāĻŽāĻžāĻ˛āĻŋāĻ¸ā§āĻāĻŋāĻ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻŽā§āĻā§, āĻŽāĻžāĻ¤ā§āĻ° 5 āĻāĻŽāĻŦāĻŋāĨ¤ āĻāĻ° āĻ
āĻ¸ā§āĻŦāĻŋāĻ§āĻž: āĻāĻāĻŋ āĻ¨āĻŋāĻāĻ¸ā§āĻŦ libc āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋ āĻāĻ¤ā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻāĻŦāĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻ
āĻ¨ā§āĻ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻāĻŦā§āĨ¤
āĻāĻāĻāĻĄāĻŧā§āĻ° āĻĻāĻžāĻ: āĻŦā§āĻ¸ āĻāĻŽā§āĻ, āĻ
āĻ¨ā§āĻ¯ āĻāĻŽā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ, āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻĄā§āĻāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĻāĻ°ā§āĻļ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻŋāĻā§ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§, āĻ¯ā§āĻŽāĻ¨ GO āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§ˇ
āĻāĻŦā§āĻ¨ā§āĻā§ āĻŦāĻž āĻĄā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ā§āĻ° āĻŽāĻ¤ā§ āĻ¯ā§āĻā§āĻ¨ā§ āĻāĻāĻ¸ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§āĨ¤ āĻ āĻŋāĻ āĻāĻā§, āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻ¨āĻž āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻžāĻ° āĻĻāĻ°āĻāĻžāĻ° āĻāĻā§āĨ¤
AI: āĻāĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻ¯āĻžāĻļā§ āĻ¸āĻžāĻĢ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ¨āĻ āĻāĻāĻŋ āĻĢā§āĻ˛ā§ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻĒā§āĻ-āĻĒā§āĻ¤ā§ āĻāĻĒāĻā§āĻ°ā§āĻĄ. āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŦāĻŋāĻ˛ā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§, āĻŦā§āĻ¸ āĻāĻŽā§āĻā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻā§āĻ¯āĻžāĻ āĻĨāĻžāĻāĻž āĻ¸āĻ¤ā§āĻ¤ā§āĻŦā§āĻ, āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻŋāĻ¤ā§āĻ° āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§āĨ¤ āĻāĻŽā§āĻā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻ°āĻā§āĻˇāĻŖāĻžāĻŦā§āĻā§āĻˇāĻŖāĻāĻžāĻ°ā§āĻ° āĻāĻžāĻ āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
P: āĻšā§āĻ¯āĻžāĻ, āĻāĻŽāĻŋ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻāĻŋ, āĻāĻāĻŋ āĻāĻ āĻŽāĻ¤ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧā§āĻā§:
WORKDIR /app
COPY ./ /app
RUN curl -sL https://deb.nodesource.com/setup_9.x | bash -
&& apt-get -y install libpq-dev imagemagick gsfonts ruby-full ssh supervisor nodejs
&& gem install bundler
&& bundle install --without development test --path vendor/bundle
RUN rm -rf /usr/local/bundle/cache/*.gem
&& apt-get clean
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
AI: āĻāĻžāĻ°āĻžāĻĒ āĻ¨āĻž, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻŋāĻā§ āĻāĻā§āĨ¤ āĻĻā§āĻā§āĻ¨, āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻāĻžāĻ¨ā§:
RUN rm -rf /usr/local/bundle/cache/*.gem
&& apt-get clean
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
... āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻāĻŋāĻ¤ā§āĻ° āĻĨā§āĻā§ āĻĄā§āĻāĻž āĻŽā§āĻā§ āĻĻā§āĻ¯āĻŧ āĻ¨āĻž, āĻ¤āĻŦā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ āĻĄā§āĻāĻž āĻāĻžāĻĄāĻŧāĻž āĻāĻāĻāĻŋ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¸ā§āĻ¤āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻ āĻŽāĻ¤:
RUN curl -sL https://deb.nodesource.com/setup_9.x | bash -
&& apt-get -y install libpq-dev imagemagick gsfonts nodejs
&& gem install bundler
&& bundle install --without development test --path vendor/bundle
&& rm -rf /usr/local/bundle/cache/*.gem
&& apt-get clean
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯ā§ āĻ¸āĻŦ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¤ā§āĻŽāĻžāĻ° āĻāĻāĻžāĻ¨ā§ āĻāĻŋ āĻāĻā§, āĻ°ā§āĻŦāĻŋ? āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻĒāĻ¨āĻžāĻā§ āĻļā§āĻ°ā§āĻ¤ā§ āĻĒā§āĻ°ā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻžāĨ¤ āĻāĻāĻŋ Gemfile āĻāĻŦāĻ Gemfile.lock āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°āĻž āĻ¯āĻĨā§āĻˇā§āĻāĨ¤
āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§, āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻā§āĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻžāĻ¨ā§āĻĄā§āĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻŦā§ āĻ¨āĻž, āĻ¤āĻŦā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¯āĻĻāĻŋ Gemfile āĻŦāĻž Gemfile.lock āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻāĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻžāĻˇāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ āĻāĻ°ā§, āĻ¯ā§āĻŽāĻ¨ āĻāĻ¨āĻĒāĻŋāĻāĻŽ, āĻĒāĻŋāĻĒ, āĻāĻŽā§āĻĒā§āĻāĻžāĻ° āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¸āĻš āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§āĨ¤
āĻāĻŦāĻ āĻ
āĻŦāĻļā§āĻˇā§, āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻļā§āĻ°ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻĄāĻāĻžāĻ° āĻŽāĻ¤āĻžāĻĻāĻ°ā§āĻļ "āĻāĻ āĻ§āĻžāĻ°āĻ - āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž" āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛ā§āĻāĻŋāĻ˛āĻžāĻŽ? āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻāĻāĻāĻ¨ āĻ¸ā§āĻĒāĻžāĻ°āĻāĻžāĻāĻāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻāĨ¤ āĻāĻāĻ āĻāĻžāĻ°āĻŖā§ āĻāĻĒāĻ¨āĻžāĻ° systemd āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻŽā§āĻ˛āĻ¤, āĻĄāĻāĻžāĻ° āĻ¨āĻŋāĻā§āĻ āĻāĻāĻāĻ¨ āĻ¸ā§āĻĒāĻžāĻ°āĻāĻžāĻāĻāĻžāĻ°āĨ¤ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻāĻāĻŋāĻ¤ā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻĒāĻžāĻ°āĻāĻžāĻāĻāĻžāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ āĻāĻāĻžāĻ§āĻŋāĻ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻŽāĻ¤ā§āĨ¤
āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻāĻāĻ āĻāĻŋāĻ¤ā§āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§āĻ¨ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻāĻā§āĻ¯āĻ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻāĻžāĻ˛ā§ āĻāĻ°āĻŦā§āĻ¨ āĻ¯āĻžāĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ˛ā§āĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĒāĻ°ā§ āĻ¯ā§ āĻāĻ°ā§.
P: āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻāĻŽāĻŋ āĻŦā§āĻāĻ¤ā§ āĻĒā§āĻ°ā§āĻāĻŋāĨ¤ āĻĻā§āĻā§āĻ¨ āĻāĻŋ āĻšāĻ¯āĻŧ:
FROM ruby:2.5.5-stretch
WORKDIR /app
COPY Gemfile* /app
RUN curl -sL https://deb.nodesource.com/setup_9.x | bash -
&& apt-get -y install libpq-dev imagemagick gsfonts nodejs
&& gem install bundler
&& bundle install --without development test --path vendor/bundle
&& rm -rf /usr/local/bundle/cache/*.gem
&& apt-get clean
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
COPY . /app
RUN rake assets:precompile
CMD ["bundleâ, âexecâ, âpassengerâ, âstart"]
āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŽāĻ°āĻž āĻāĻŋ āĻĄā§āĻŽāĻ¨ā§āĻ° āĻ˛āĻā§āĻāĻā§ āĻāĻāĻžāĻ°āĻ°āĻžāĻāĻĄ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ?
āĻāĻāĻ: āĻšā§āĻ¯āĻžāĻ, āĻāĻāĻž āĻ āĻŋāĻāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻĒāĻ¨āĻŋ CMD āĻāĻŦāĻ ENTRYPOINT āĻāĻāĻ¯āĻŧāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻŦāĻ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻāĻŋ āĻ¤āĻž āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻž āĻšāĻ˛ āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻžāĻĄāĻŧāĻŋāĻ° āĻāĻžāĻāĨ¤ HabrÊ āĻāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻāĻā§
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻ° āĻāĻāĻŋāĻ¯āĻŧā§ āĻāĻ˛ā§āĻ¨. āĻāĻĒāĻ¨āĻŋ āĻ¨ā§āĻĄ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°ā§āĻ¨, āĻ¤āĻŦā§ āĻāĻāĻŋāĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¤āĻž āĻĨāĻžāĻāĻŦā§ āĻāĻŽāĻ¨ āĻā§āĻ¨āĻ āĻā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻāĻŋ āĻ¨ā§āĻāĨ¤ āĻāĻŽāĻ°āĻž āĻŦā§āĻ§āĻ¤āĻž āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§. āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻ āĻŽāĻ¤:
RUN curl -sL https://deb.nodesource.com/setup_9.x > setup_9.x
&& echo "958c9a95c4974c918dca773edf6d18b1d1a41434 setup_9.x" | sha1sum -c -
&& bash setup_9.x
&& rm -rf setup_9.x
&& apt-get -y install libpq-dev imagemagick gsfonts nodejs
&& gem install bundler
&& bundle install --without development test --path vendor/bundle
&& rm -rf /usr/local/bundle/cache/*.gem
&& apt-get clean
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
āĻā§āĻāĻ¸āĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻ āĻŋāĻ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°ā§āĻā§āĻ¨āĨ¤
P: āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĢāĻžāĻāĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§, āĻŦāĻŋāĻ˛ā§āĻĄ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻŦā§āĨ¤
āĻāĻāĻ: āĻšā§āĻ¯āĻžāĻ, āĻāĻŦāĻ āĻ āĻĻā§āĻā§āĻ¤āĻāĻžāĻŦā§ āĻ¯āĻĨā§āĻˇā§āĻ, āĻāĻāĻŋāĻ āĻāĻāĻāĻŋ āĻĒā§āĻ˛āĻžāĻ¸āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¯ā§ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻĻā§āĻāĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ¨āĻ āĻāĻžāĻ¨ā§āĻ¨ āĻ¨āĻž, āĻ¤āĻžāĻ°āĻž āĻ¯ā§āĻ āĻāĻ°ā§āĻā§, āĻŦāĻ˛ā§, āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ¯āĻž āĻāĻāĻŋ āĻĒā§āĻāĻāĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŽāĻ¨ āĻ¸āĻŦāĻāĻŋāĻā§ āĻŽā§āĻā§ āĻĻā§āĻ¯āĻŧ, āĻŦāĻž āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻžāĻāĻĄā§āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤
P: āĻāĻĒāĻ¨āĻžāĻā§ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ. āĻĻā§āĻāĻž āĻ¯āĻžāĻā§āĻā§ āĻ¯ā§ āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻĄāĻāĻžāĻ°āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻāĻāĻ°āĻāĻŽ āĻĻā§āĻāĻžāĻŦā§:
FROM ruby:2.5.5-stretch
WORKDIR /app
COPY Gemfile* /app
RUN curl -sL https://deb.nodesource.com/setup_9.x > setup_9.x
&& echo "958c9a95c4974c918dca773edf6d18b1d1a41434 setup_9.x" | sha1sum -c -
&& bash setup_9.x
&& rm -rf setup_9.x
&& apt-get -y install libpq-dev imagemagick gsfonts nodejs
&& gem install bundler
&& bundle install --without development test --path vendor/bundle
&& rm -rf /usr/local/bundle/cache/*.gem
&& apt-get clean
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
COPY . /app
RUN rake assets:precompile
CMD ["bundleâ, âexecâ, âpassengerâ, âstart"]
āĻĒāĻŋ: āĻāĻāĻ° āĻāĻāĻžāĻ¨ā§āĻāĻŋāĻ, āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻāĨ¤ āĻāĻŽāĻžāĻ° āĻĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ¸ā§āĻā§, āĻāĻŽāĻžāĻā§ āĻāĻ āĻāĻ°āĻ 10āĻāĻŋ āĻāĻŽāĻŋāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻāĻ° āĻāĻāĻžāĻ¨ā§āĻāĻŋāĻ, āĻ¤āĻžāĻ° āĻ¤āĻžāĻĄāĻŧāĻžāĻšā§āĻĄāĻŧā§ āĻ¸āĻšāĻāĻ°ā§āĻŽā§āĻā§ āĻ¤āĻžāĻ° āĻĻā§āĻˇā§āĻāĻŋāĻ¤ā§ āĻĨāĻžāĻŽāĻŋāĻ¯āĻŧā§, āĻļāĻā§āĻ¤ āĻāĻĢāĻŋāĻ¤ā§ āĻā§āĻŽā§āĻ āĻĻā§āĻ¯āĻŧāĨ¤ 99.9% SLA āĻāĻŦāĻ āĻŦāĻžāĻ-āĻŽā§āĻā§āĻ¤ āĻā§āĻĄ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ¯āĻŧā§āĻ āĻ¸ā§āĻā§āĻ¨ā§āĻĄ āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻ¤āĻŋāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻāĻ: āĻāĻĒāĻ¨āĻŋ āĻ˛āĻāĻā§āĻ˛āĻŋ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻŦā§āĻ¨?
P: āĻ āĻŦāĻļā§āĻ¯āĻ, production.log āĻāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻšā§āĻ¯āĻžāĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻŽāĻ°āĻž ssh āĻāĻžāĻĄāĻŧāĻž āĻ¤āĻžāĻĻā§āĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ?
āĻāĻāĻ: āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ°ā§āĻā§ āĻ¯āĻžāĻ¨, āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻĻā§āĻāĻžāĻŦāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§āĨ¤ docker exec āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻ¯ā§āĻā§āĻ¨ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻĒāĻ¨āĻŋ āĻ˛āĻ āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨. āĻāĻŦāĻ āĻāĻžāĻŦāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ -āĻ āĻāĻŦāĻ āĻ°āĻžāĻ¨āĻŋāĻ āĻŦā§āĻ¯āĻžāĻļ (āĻ¯āĻĻāĻŋ āĻāĻ¨āĻā§āĻāĻ¨āĻžāĻ°ā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻĨāĻžāĻā§) āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§ āĻāĻ¨ā§āĻāĻžāĻ°ā§āĻā§āĻāĻŋāĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻĻā§āĻŦā§āĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻāĻ˛ā§ āĻ˛āĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨, āĻāĻāĻŋ āĻ§āĻžāĻ°āĻāĻāĻŋāĻ° āĻ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻŦā§āĻĻā§āĻ§āĻŋāĻ° āĻĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻāĻ°ā§ āĻāĻŦāĻ āĻā§āĻ āĻ˛āĻāĻā§āĻ˛āĻŋ āĻā§āĻ°āĻžāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛āĻ stdout āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻāĻāĻŋāĻ¤. āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ¤āĻžāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĻā§āĻāĻž āĻ¯āĻžāĻŦā§ āĻĄāĻāĻžāĻ° āĻ˛āĻ.
P: Igor Ivanovich, āĻšāĻ¯āĻŧāĻ¤ā§ āĻāĻŽāĻŋ āĻ˛āĻāĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻāĻŋ āĻŽāĻžāĻāĻ¨ā§āĻā§āĻĄ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§, āĻāĻāĻāĻŋ āĻĢāĻŋāĻāĻŋāĻā§āĻ¯āĻžāĻ˛ āĻ¨ā§āĻĄā§, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻĄā§āĻāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ°āĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ?
AI: āĻāĻāĻž āĻāĻžāĻ˛ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻ¨ā§āĻĄā§āĻ° āĻĄāĻŋāĻ¸ā§āĻā§ āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻĄā§āĻāĻž āĻ¸āĻ°āĻžāĻ¤ā§ āĻā§āĻ˛āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ˛āĻ āĻĻāĻŋāĻ¯āĻŧā§āĻ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻļā§āĻ§ā§ āĻā§āĻ°ā§āĻŖāĻ¨ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻ¤ā§ āĻā§āĻ˛āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤
āĻāĻāĻž, āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨.
āĻĒāĻŋ: āĻāĻāĻ° āĻāĻāĻžāĻ¨ā§āĻāĻŋāĻ, āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻžāĻā§ āĻā§ āĻĒāĻĄāĻŧāĻ¤ā§ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨?
āĻāĻāĻ: āĻĒā§āĻ°āĻĨāĻŽā§ āĻĒāĻĄāĻŧā§āĻ¨
āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻāĻžāĻ°ā§āĻ¨āĻļāĻŋāĻĒ āĻĒā§āĻ¤ā§ āĻāĻžāĻ¨, āĻ¯āĻžāĻ¨
āĻāĻ¤ā§āĻ¸: www.habr.com