2017-10-12 37 views
0

我已經研究了許多關於dockerizing Sinatra,Rails等的帖子,但我不清楚應用程序的源代碼應該放在哪裏:在容器中,還是在單獨/外部安裝中,用於生產網站?碼頭化的Sinatra應用程序應該在容器中還是在安裝中有其源代碼?

我認爲單獨安裝的優點是,如果站點的代碼經常更新,那麼我可以假設只是從Git開始將代碼導出到掛載,切換符號鏈接並可能反彈不知何故......?所以容器不需要重新創建和重新部署,對吧?

儘管在容器中有源代碼,那麼我認爲它的一個優點是它全部是獨立的和便攜的,如果這真的是一個優勢?

我很想聽到人們對此的利弊。

我們的應用程序很小,只有幾個人使用,很少會改變。

感謝

+0

看看這有助於以任何方式? http://tarunlalwani.com/post/deploying-code-inside-docker-images-statically-dynamically/ –

回答

1

地方發展是有意義的安裝應用程序目錄,並在容器中運行它。但爲了生產,我總是把所有東西放在容器中。否則它只是一團糟。開始使用寶石更新等。如果您先添加Gemfile並運行軟件包更新,然後添加應用程序文件,則您將擁有非常精簡的構建過程,只需很少的時間來更新。結合一些自動化,它不應該是生產應用程序的問題。寶石只會在Gemfile更改時更新。

例Dockerfile:

# everything else 
ADD Gemfile* $APP/ 

ENV BUNDLE_GEMFILE=$APP/Gemfile \ 
BUNDLE_JOBS=2 \ 
BUNDLE_PATH=/bundle 

RUN bundle install --without development test 

ADD . $APP 
相關問題