เจฎเฉเจฐเฉ เจฒเฉเจ เจฆเฉเจเจ เจเจฟเฉฑเจชเจฃเฉเจเจ เจตเจฟเฉฑเจ
เจชเจฟเจเจฒเฉ เจเจชเฉเจธเฉเจก เจฆเจพ เจธเฉฐเจเฉเจช: เจฆเฉ เจกเจฟเจตเฉเจฒเจชเจฐ เจเฉฑเจ เจคเฉฐเจ เจธเจฎเจพเจ เจธเฉเจฎเจพ เจฆเฉ เจคเจนเจฟเจค เจเฉฑเจ เจกเฉเจเจฐเจซเจพเจเจฒ เจคเจฟเจเจฐ เจเจฐเจฆเฉ เจนเจจเฅค เจชเฉเจฐเจเจฟเจฐเจฟเจ เจตเจฟเฉฑเจ, เจเจชเจธ เจเจเฉเจฐ เจเจตเจพเจจเฉเจตเจฟเจ เจเจจเฉเจนเจพเจ เจเฉเจฒ เจเจเจเจฆเฉ เจนเจจ. เจจเจคเฉเจเจพ เจกเฉเจเจฐเจซเจพเจเจฒ เจเฉฐเจจเจพ เจเจฐเจพเจฌ เจนเฉ เจเจฟ เจเจเจ เจฆเจฟเจฒ เจฆเฉ เจฆเฉเจฐเฉ เจฆเฉ เจเจเจพเจฐ 'เจคเฉ เจนเฉเฅค
เจนเฉเจฃ เจเจ เจเจน เจชเจคเจพ เจเจฐเฉเจ เจเจฟ เจเจธ เจกเฉเจเจฐเจซเจพเจเจฒ เจตเจฟเฉฑเจ เจเฉ เจเจฒเจค เจนเฉ.
เจเจธ เจฒเจ, เจเฉฑเจ เจนเจซเจผเจคเจพ เจฌเฉเจค เจเจฟเจ เจนเฉ.
เจฆเฉเจต เจชเฉเจเฉเจ เจเฉฑเจ เจเฉฑเจช เจเฉเจซเฉ เจเฉฑเจคเฉ เจกเจพเจเจจเจฟเฉฐเจ เจฐเฉเจฎ เจตเจฟเฉฑเจ เจเจชเจธ เจเจเฉเจฐ เจเจตเจพเจจเฉเจตเจฟเจ เจจเฉเฉฐ เจฎเจฟเจฒเจฆเจพ เจนเฉเฅค
เจชเฉ: เจเจเฉเจฐ เจเจตเจพเจจเฉเจตเจฟเจ, เจเฉ เจคเฉเจธเฉเจ เจฌเจนเฉเจค เจตเจฟเจ เจธเจค เจนเฉ? เจฎเฉเจ เจเจน เจชเจคเจพ เจฒเจเจพเจเจฃเจพ เจเจพเจนเจพเจเจเจพ เจเจฟ เจ เจธเฉเจ เจเจฟเฉฑเจฅเฉ เจเฉเจฌเฉ เจเฉเจคเฉ เจนเฉเฅค
AI: เจเจน เจเฉฐเจเจพ เจนเฉ, เจคเฉเจธเฉเจ เจ
เจเจธเจฐ เจเจนเจจเจพเจ เจกเจฟเจตเฉเจฒเจชเจฐเจพเจ เจจเฉเฉฐ เจจเจนเฉเจ เจฎเจฟเจฒเจฆเฉ เจเฉ เจธเจผเฉเจธเจผเจฃ เจตเจฟเฉฑเจ เจฆเจฟเจฒเจเจธเจชเฉ เจฐเฉฑเจเจฆเฉ เจนเจจเฅค
เจชเจนเจฟเจฒเจพเจ, เจเจ เจเฉเจ เจเฉฑเจฒเจพเจ 'เจคเฉ เจธเจนเจฟเจฎเจค เจนเฉเจเจ:
- เจกเฉเจเจฐ เจตเจฟเจเจพเจฐเจงเจพเจฐเจพ: เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ - เจเฉฑเจ เจชเฉเจฐเจเจฟเจฐเจฟเจเฅค
- เจเจฟเฉฐเจจเจพ เจเฉเจเจพ เจเฉฐเจเฉเจจเจฐ, เจฌเจฟเจนเจคเจฐ.
- เจเจฟเฉฐเจจเจพ เจเจผเจฟเจเจฆเจพ เจคเฉเจธเฉเจ เจเฉเจธเจผ เจคเฉเจ เจฒเจ, เจเฉฑเจจเจพ เจนเฉ เจตเจงเฉเจเฅค
P: เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจตเจฟเฉฑเจ เจเฉฑเจ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฟเจเจ เจนเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเฉ?
AI: เจกเฉเจเจฐ, เจเจฆเฉเจ เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจธเจผเฉเจฐเฉ เจเจฐเจฆเจพ เจนเฉ, pid 1 เจจเจพเจฒ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉ เจธเจฅเจฟเจคเฉ เจฆเฉ เจจเจฟเจเจฐเจพเจจเฉ เจเจฐเจฆเจพ เจนเฉเฅค เจเฉเจเจฐ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจคเจฎ เจนเฉ เจเจพเจเจฆเฉ เจนเฉ, เจคเจพเจ เจกเฉเจเจฐ เจเฉฐเจเฉเจจเจฐ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจฆเจพ เจนเฉเฅค เจฎเฉฐเจจ เจฒเจ เจเจฟ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจตเจฟเฉฑเจ เจเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเฉฑเจฒ เจฐเจนเฉเจเจ เจนเจจ, เจเจพเจ เจฎเฉเฉฑเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ pid 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"]
AI: เจเจน, เจเจ เจเจธเจจเฉเฉฐ เจเฉเจฐเจฎ เจตเจฟเฉฑเจ เจเจฐเฉเจ. เจเจ เจชเจนเจฟเจฒเฉ เจฒเจพเจเจจ เจจเจพเจฒ เจธเจผเฉเจฐเฉ เจเจฐเฉเจ:
FROM ubuntu:latest
เจคเฉเจธเฉเจ เจเฉเจ เจฒเฉ เจฒเจ latest
. เจเฉฑเจ เจเฉเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ latest
เจ
เจฃเจชเจเจพเจคเฉ เจจเจคเฉเจเจฟเจเจ เจตเฉฑเจฒ เจ
เจเจตเจพเจ เจเจฐเจฆเจพ เจนเฉเฅค เจเจฒเจชเจจเจพ เจเจฐเฉ, เจเจฟเฉฑเจคเจฐ เจธเฉฐเจเจพเจฒเจ เจธเจพเจซเจเจตเฉเจ
เจฐ เจฆเฉ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจธเฉเจเฉ เจฆเฉ เจจเจพเจฒ เจเจฟเฉฑเจคเจฐ เจฆเจพ เจเฉฑเจ เจจเจตเจพเจ เจธเฉฐเจธเจเจฐเจฃ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉ, เจเจน เจเจฟเฉฑเจคเจฐ เจจเจตเฉเจจเจคเจฎ เจเฉเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเจพ เจนเฉเฅค เจ
เจคเฉ เจคเฉเจนเจพเจกเจพ เจเฉฐเจเฉเจจเจฐ, เจธเจญ เจคเฉเจ เจตเจงเฉเจ, เจฌเจฟเจฒเจกเจฟเฉฐเจ เจฌเฉฐเจฆ เจเจฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉ, เจ
เจคเฉ เจธเจญ เจคเฉเจ เจฎเจพเฉเฉ, เจคเฉเจธเฉเจ เจ
เจเจฟเจนเฉ เจฌเฉฑเจ เจซเฉเจฆเฉ เจนเฉ เจเฉ เจชเจนเจฟเจฒเจพเจ เจฎเฉเจเฉเจฆ เจจเจนเฉเจ เจธเจจเฅค
เจคเฉเจธเฉเจ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจฌเฉเจฒเฉเฉเฉ เจธเฉเจซเจเจตเฉเจ เจฐ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจฆเฉ OS เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจเจฟเฉฑเจคเจฐ เจฒเฉเจเจฆเฉ เจนเฉ, เจเฉ เจเฉฐเจเฉเจจเจฐ เจฆเฉ เจฎเจพเจคเจฐเจพ เจจเฉเฉฐ เจตเจงเจพเจเจเจฆเจพ เจนเฉ. เจ เจคเฉ เจนเฉเจฐ เจธเฉเจซเจเจตเฉเจ เจฐ, เจนเฉเจฐ เจเฉเจ เจ เจคเฉ เจเจฎเจเจผเฉเจฐเฉเจเจ.
เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจเจฟเฉฑเจคเจฐ เจเจฟเฉฐเจจเจพ เจตเฉฑเจกเจพ เจนเฉเจตเฉเจเจพ, เจนเฉเจธเจ เจ เจคเฉ เจฐเจเจฟเจธเจเจฐเฉ เจตเจฟเฉฑเจ เจเจน เจเจจเฉ เจนเฉ เจเจผเจฟเจเจฆเจพ เจฅเจพเจ เจฒเฉเจเจฆเจพ เจนเฉ (เจเฉ เจคเฉเจธเฉเจ เจเจฟเฉฑเจคเจฐเจพเจ เจจเฉเฉฐ เจเจฟเจคเฉ เจธเจเฉเจฐ เจเจฐเจฆเฉ เจนเฉ)?
P: เจนเจพเจ, เจฌเฉเจธเจผเจ, เจธเจพเจกเฉ เจเฉเจฒ เจเฉฑเจ เจฐเจเจฟเจธเจเจฐเฉ เจนเฉ, เจคเฉเจธเฉเจ เจเจธเจจเฉเฉฐ เจธเฉเจ เจ เจช เจเจฐเฉ.
AI: เจคเจพเจ, เจฎเฉเจ เจเจฟเจธ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐ เจฐเจฟเจนเจพ เจนเจพเจ?... เจเจน เจนเจพเจ, เจตเจพเจฒเฉเจ เจฎ... เจจเฉเฉฑเจเจตเจฐเจ 'เจคเฉ เจฒเฉเจก เจตเฉ เจตเจง เจฐเจฟเจนเจพ เจนเฉเฅค เจเฉฑเจ เจธเจฟเฉฐเจเจฒ เจเจฟเฉฑเจคเจฐ เจฒเจ เจเจน เจงเจฟเจเจจ เจฆเฉเจฃ เจฏเฉเจ เจจเจนเฉเจ เจนเฉ, เจชเจฐ เจเจฆเฉเจ เจเฉฑเจ เจจเจฟเจฐเฉฐเจคเจฐ เจจเจฟเจฐเจฎเจพเจฃ, เจเฉเจธเจ เจ เจคเฉ เจคเฉเจจเจพเจคเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจคเจพเจ เจเจน เจงเจฟเจเจจ เจฆเฉเจฃ เจฏเฉเจ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจ เจคเฉ เจเฉเจเจฐ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ AWS 'เจคเฉ เจฐเฉฑเจฌ เจฆเจพ เจฎเฉเจก เจจเจนเฉเจ เจนเฉ, เจคเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจ เจฌเฉเจฐเจนเจฟเจฎเฉฐเจกเฉ เจฌเจฟเฉฑเจฒ เจตเฉ เจฎเจฟเจฒเฉเจเจพเฅค
เจเจธ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจธเจนเฉ เจธเฉฐเจธเจเจฐเจฃ เจ
เจคเฉ เจเฉฑเจเฉ-เจเฉฑเจ เจธเฉเจซเจเจตเฉเจ
เจฐ เจฆเฉ เจจเจพเจฒ, เจธเจญ เจคเฉเจ เจขเฉเจเจตเฉเจ เจคเจธเจตเฉเจฐ เจเฉเจฃเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจฒเจ: FROM ruby:2.5.5-stretch
เจชเฉ: เจเจน, เจฎเฉเจ เจตเฉเจเจฆเจพ เจนเจพเจ. เจฎเฉเจ เจเจชเจฒเจฌเจง เจเจฟเฉฑเจคเจฐเจพเจ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจ เจคเฉ เจเจฟเฉฑเจฅเฉ เจฆเฉเจ เจธเจเจฆเจพ เจนเจพเจ? เจฎเฉเจจเฉเฉฐ เจเจฟเจตเฉเจ เจชเจคเจพ เจฒเฉฑเจเฉเจเจพ เจเจฟ เจฎเฉเจจเฉเฉฐ เจเจฟเจธ เจฆเฉ เจฒเฉเฉ เจนเฉ?
AI: เจเจฎ เจคเฉเจฐ 'เจคเฉ เจคเจธเจตเฉเจฐเจพเจ เจเจธ เจคเฉเจ เจฒเจเจเจ เจเจพเจเจฆเฉเจเจ เจนเจจ
Alpine: เจเจฟเฉฑเจคเจฐเจพเจ เจจเฉเฉฐ เจเฉฑเจ เจจเจฟเจเจจเจคเจฎ เจฒเฉเจจเจเจธ เจเจฟเฉฑเจคเจฐ 'เจคเฉ เจเจเฉฑเจ เจพ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจธเจฟเจฐเจซ 5 MBเฅค เจเจธเจฆเจพ เจจเฉเจเจธเจพเจจ: เจเจน เจเจธเจฆเฉ เจเจชเจฃเฉ libc เจฒเจพเจเฉเจเจฐเจจ เจจเจพเจฒ เจเฉฐเจชเจพเจเจฒ เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจธเจเฉเจเจกเจฐเจก เจชเฉเจเฉเจ เจเจธ เจตเจฟเฉฑเจ เจเฉฐเจฎ เจจเจนเฉเจ เจเจฐเจฆเฉ เจนเจจเฅค เจฒเฉเฉเฉเจเจฆเฉ เจชเฉเจเฉเจ เจจเฉเฉฐ เจฒเฉฑเจญเจฃ เจ
เจคเฉ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจ เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจธเจฎเจพเจ เจฒเฉฑเจเฉเจเจพเฅค
เจธเจเฉเจฐเฉเจ: เจ
เจงเจพเจฐ เจเจฟเฉฑเจคเจฐ, เจนเฉเจฐ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพเจเจฃ เจฒเจ เจจเจนเฉเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพเฅค เจเจน เจธเจฟเจฐเจซเจผ เจฌเจพเจเจจเจฐเฉ, เจคเจฟเจเจฐ เจกเฉเจเจพ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฒเจ เจนเฉเฅค เจฌเจพเจเจจเจฐเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฒเจ เจเจฆเจฐเจธเจผ เจเจฟเจธ เจตเจฟเฉฑเจ เจคเฉเจนเจพเจจเฉเฉฐ เจฒเฉเฉเฉเจเจฆเฉ เจนเจฐ เจเฉเจเจผ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจเจฟเจตเฉเจ เจเจฟ GO เจเจชเจฒเฉเจเฉเจธเจผเจจเฅค
เจเจฟเจธเฉ เจตเฉ OS 'เจคเฉ เจเจงเจพเจฐเจฟเจค, เจเจฟเจตเฉเจ เจเจฟ เจเจฌเฉฐเจเฉ เจเจพเจ เจกเฉเจฌเฉเจ
เจจเฅค เจเฉเจฐ, เจฎเฉเจจเฉเฉฐ เจจเจนเฉเจ เจฒเจเจฆเจพ เจเจฟ เจตเจฟเจเจเจฟเจ เจเจฐเจจ เจฆเฉ เจเฉเจ เจเจผเจฐเฉเจฐเจค เจนเฉ.
AI: เจนเฉเจฃ เจธเจพเจจเฉเฉฐ เจธเจพเจฐเฉ เจตเจพเจงเฉ เจเฉฐเจธเจเจพเจฒ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจชเฉเจเฉเจ เจ เจคเฉ เจเจชเจฃเฉ เจเฉเจ เจธเจพเจซเจผ เจเจฐเฉ. เจ เจคเฉ เจคเฉเจธเฉเจ เจเจธเจจเฉเฉฐ เจคเฉเจฐเฉฐเจค เจธเฉเฉฑเจ เจธเจเจฆเฉ เจนเฉ apt-get เจ เฉฑเจชเจเจฐเฉเจก. เจจเจนเฉเจ เจคเจพเจ, เจนเจฐเฉเจ เจฌเจฟเจฒเจก เจฆเฉ เจจเจพเจฒ, เจฌเฉเจธ เจเจฎเฉเจ เจฆเฉ เจซเจฟเจเจธเจก เจเฉเจ เจฆเฉ เจฌเจพเจตเจเฉเจฆ, เจตเฉฑเจ-เจตเฉฑเจ เจเจฟเฉฑเจคเจฐ เจชเฉเจฐเจพเจชเจค เจเฉเจคเฉ เจเจพเจฃเจเฉเฅค เจเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจ เจชเฉเจเฉเจเจพเจ เจจเฉเฉฐ เจ เฉฑเจชเจกเฉเจ เจเจฐเจจเจพ เจฎเฉเจจเจเฉเจจเจฐ เจฆเจพ เจเฉฐเจฎ เจนเฉ เจ เจคเฉ เจเจธ เจฆเฉ เจจเจพเจฒ เจเฉเจ เจฌเจฆเจฒเจฃเจพ เจนเฉเฅค
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 เจฌเจฆเจฒ เจเจฟเจ เจนเฉเฅค
เจจเจฟเจฐเจญเจฐเจคเจพ เจชเฉเจฐเจฌเฉฐเจงเจ, เจเจฟเจตเฉเจ เจเจฟ npm, pip, เจเฉฐเจชเฉเจเจผเจฐ เจ เจคเฉ เจจเจฟเจฐเจญเจฐเจคเจพเจตเจพเจ เจฆเฉ เจธเฉเจเฉ เจตเจพเจฒเฉ เจเฉฑเจ เจซเจพเจเจฒ เจฆเฉ เจ เจงเจพเจฐ เจคเฉ เจนเฉเจฐ เจญเจพเจธเจผเจพเจตเจพเจ เจฒเจ เจเจนเฉ เจขเฉฐเจ เจเฉฐเจฎ เจเจฐเจฆเฉ เจนเจจเฅค
เจ
เจคเฉ เจ
เฉฐเจค เจตเจฟเฉฑเจ, เจฏเจพเจฆ เจฐเฉฑเจเฉ เจเจฟ เจธเจผเฉเจฐเฉ เจตเจฟเฉฑเจ เจฎเฉเจ เจกเฉเจเจฐ เจตเจฟเจเจพเจฐเจงเจพเจฐเจพ "เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ - เจเฉฑเจ เจชเฉเจฐเจเจฟเจฐเจฟเจ" เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเฉเจคเฉ เจธเฉ? เจเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉ เจเจฟ เจธเฉเจชเจฐเจตเจพเจเจเจผเจฐ เจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฅค เจคเฉเจนเจพเจจเฉเฉฐ เจเจธเฉ เจเจพเจฐเจจเจพเจ เจเจฐเจเฉ, 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"]
เจเฉ เจ เจธเฉเจ เจเฉฐเจเฉเจจเจฐ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจตเฉเจฒเฉ เจกเฉเจฎเจจ เจฆเฉ เจธเจผเฉเจฐเฉเจเจค เจจเฉเฉฐ เจเจตเจฐเจฐเจพเจเจก เจเจฐ เจธเจเจฆเฉ เจนเจพเจ?
AI: เจนเจพเจ, เจเจน เจธเจนเฉ เจนเฉเฅค เจคเจฐเฉเจเฉ เจจเจพเจฒ, เจคเฉเจธเฉเจ 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: เจชเจฐ เจเฉเจเจฐ เจซเจพเจเจฒ เจฌเจฆเจฒเจฆเฉ เจนเฉ, เจคเจพเจ เจฌเจฟเจฒเจก เจซเฉเจฒ เจนเฉ เจเจพเจตเฉเจเจพเฅค
เจเจเจ: เจนเจพเจ, เจ เจคเฉ เจ เจเฉเจฌ เจคเฉเจฐ 'เจคเฉ, เจเจน เจเฉฑเจ เจชเจฒเฉฑเจธ เจตเฉ เจนเฉ. เจคเฉเจนเจพเจจเฉเฉฐ เจชเจคเจพ เจฒเฉฑเจเฉเจเจพ เจเจฟ เจซเจพเจเจฒ เจฌเจฆเจฒ เจเจ เจนเฉ, เจ เจคเฉ เจคเฉเจธเฉเจ เจเจน เจตเฉเจเจฃ เจฆเฉ เจฏเฉเจ เจนเฉเจตเฉเจเฉ เจเจฟ เจเฉฑเจฅเฉ เจเฉ เจฌเจฆเจฒเจฟเจ เจเจฟเจ เจธเฉ. เจคเฉเจธเฉเจ เจเจฆเฉ เจจเจนเฉเจ เจเจพเจฃเจฆเฉ, เจเจนเจจเจพเจ เจจเฉ เจเฉเฉเจฟเจ, เจเจนเฉ, เจเฉฑเจ เจธเจเฉเจฐเจฟเจชเจ เจเฉ เจเจน เจธเจญ เจเฉเจ เจฎเจฟเจเจพ เจฆเจฟเฉฐเจฆเฉ เจนเฉ เจเฉ เจเจธ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจธเจเจฆเฉ เจนเฉ, เจเจพเจ เจเฉฑเจ เจฌเฉเจเจกเฉเจฐ เจฌเจฃเจพเจเจเจฆเฉ เจนเฉเฅค
เจชเฉ: เจคเฉเจนเจพเจกเจพ เจงเฉฐเจจเจตเจพเจฆเฅค เจเจน เจชเจคเจพ เจเจฒเจฆเจพ เจนเฉ เจเจฟ เจ เฉฐเจคเจฎ เจกเฉเจเจฐเจซเจพเจเจฒ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเฉเจตเฉเจเฉ:
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 เจ เจคเฉ เจฌเฉฑเจ-เจฎเฉเจเจค เจเฉเจก เจฌเจพเจฐเฉ เจเฉเจ เจธเจเจฟเฉฐเจเจพเจ เจฒเจ เจธเฉเจเจฃ เจคเฉเจ เจฌเจพเจ เจฆ, เจเจน เจเฉฑเจ เจธเจตเจพเจฒ เจชเฉเฉฑเจเจฆเจพ เจนเฉเฅค
AI: เจคเฉเจธเฉเจ เจฒเฉเจเจธ เจจเฉเฉฐ เจเจฟเฉฑเจฅเฉ เจธเจเฉเจฐ เจเจฐเจฆเฉ เจนเฉ?
P: เจฌเฉเจธเจผเฉฑเจ, production.log เจตเจฟเฉฑเจ. เจคเจฐเฉเจเฉ เจจเจพเจฒ, เจนเจพเจ, เจชเจฐ เจ เจธเฉเจ ssh เจคเฉเจ เจฌเจฟเจจเจพเจ เจเจนเจจเจพเจ เจคเฉฑเจ เจเจฟเจตเฉเจ เจชเจนเฉเฉฐเจ เจธเจเจฆเฉ เจนเจพเจ?
AI: เจเฉ เจคเฉเจธเฉเจ เจเจนเจจเจพเจ เจจเฉเฉฐ เจซเจพเจเจฒเจพเจ เจตเจฟเฉฑเจ เจเฉฑเจก เจฆเจฟเฉฐเจฆเฉ เจนเฉ, เจคเจพเจ เจคเฉเจนเจพเจกเฉ เจฒเจ เจเฉฑเจ เจนเฉฑเจฒ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเฉเจเจฟเจ เจเจฟเจ เจนเฉ. docker exec เจเจฎเจพเจเจก เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฐเจเฉเจจเจฐ เจตเจฟเฉฑเจ เจเฉเจ เจตเฉ เจเจฎเจพเจเจก เจเจฒเจพเจเจฃ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเฉ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจคเฉเจธเฉเจ เจฒเฉเจ เจฒเจ เจฌเจฟเฉฑเจฒเฉ เจเจฐ เจธเจเจฆเฉ เจนเฉ. เจ เจคเฉ เจเฉเฉฐเจเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ -เจเจน เจ เจคเฉ เจเฉฑเจฒ เจฐเจนเฉ bash (เจเฉเจเจฐ เจเฉฐเจเฉเจจเจฐ เจตเจฟเฉฑเจ เจเฉฐเจธเจเจพเจฒ เจนเฉ) เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฐเจเฉเจจเจฐ เจคเฉฑเจ เจเฉฐเจเจฐเจเจเจเจฟเจต เจชเจนเฉเฉฐเจ เจฆเฉเจตเฉเจเฉเฅค
เจชเจฐ เจคเฉเจนเจพเจจเฉเฉฐ เจซเจพเจเจฒเจพเจ เจตเจฟเฉฑเจ เจฒเฉเจเจธ เจจเฉเฉฐ เจธเจเฉเจฐ เจจเจนเฉเจ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจเฉฑเจเฉ-เจเฉฑเจ, เจเจน เจเฉฐเจเฉเจจเจฐ เจฆเฉ เจฌเฉเจเจพเจฌเฉ เจตเจพเจงเฉ เจตเฉฑเจฒ เจเฉเจฆเจพ เจนเฉ, เจ เจคเฉ เจเฉเจ เจตเฉ เจฒเฉเจเจพเจ เจจเฉเฉฐ เจจเจนเฉเจ เจเฉเฉฐเจฎเจพเจเจเจฆเจพเฅค เจธเจพเจฐเฉ เจฒเฉเจ stdout เจจเฉเฉฐ เจญเฉเจเฉ เจเจพเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเจจเฅค เจเฉฑเจฅเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเจฎเจพเจเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจฆเฉเจเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ เจกเฉเจเจฐ เจฒเจพเจ.
เจชเฉ: เจเจเฉเจฐ เจเจตเจพเจจเฉเจตเจฟเจ, เจนเฉ เจธเจเจฆเจพ เจนเฉ เจเจฟ เจฎเฉเจ เจฒเฉเจเจธ เจจเฉเฉฐ เจฎเจพเจเจเจ เจเฉเจคเฉ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจตเจฟเฉฑเจ, เจเฉฑเจ เจญเฉเจคเจฟเจ เจจเฉเจก เจคเฉ, เจเจชเจญเฉเจเจคเจพ เจกเฉเจเจพ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจชเจพ เจธเจเจฆเจพ เจนเจพเจ?
AI: เจเจน เจเฉฐเจเจพ เจนเฉ เจเจฟ เจคเฉเจธเฉเจ เจจเฉเจก เจฆเฉ เจกเจฟเจธเจ 'เจคเฉ เจฒเฉเจก เจเฉเจคเฉ เจกเฉเจเจพ เจจเฉเฉฐ เจนเจเจพเจเจฃเจพ เจจเจนเฉเจ เจญเฉเฉฑเจฒเจฟเจ. เจคเฉเจธเฉเจ เจเจน เจฒเฉเจเจธ เจจเจพเจฒ เจตเฉ เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจฌเจธ เจฐเฉเจเฉเจธเจผเจจ เจธเฉเจ เจ
เจช เจเจฐเจจเจพ เจจเจพ เจญเฉเฉฑเจฒเฉเฅค
เจเจน เจนเฉ, เจคเฉเจธเฉเจ เจเจฒเจพ เจธเจเจฆเฉ เจนเฉ.
เจชเฉ: เจเจเฉเจฐ เจเจตเจพเจจเฉเจตเจฟเจ, เจเฉ เจคเฉเจธเฉเจ เจฎเฉเจจเฉเฉฐ เจธเจฒเจพเจน เจฆเฉ เจธเจเจฆเฉ เจนเฉ เจเจฟ เจเฉ เจชเฉเฉเจนเจจเจพ เจนเฉ?
AI: เจชเจนเจฟเจฒเจพเจ, เจชเฉเฉเจนเฉ
เจ
เจคเฉ เจเฉ เจคเฉเจธเฉเจ เจเฉฐเจเจฐเจจเจธเจผเจฟเจช เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ, เจคเจพเจ เจเจพเจ
เจธเจฐเฉเจค: www.habr.com