2017-10-12 8 views
0

私はSinatra、Railsなどのドッキングについて多くの記事を研究してきましたが、アプリケーションのソースコードがどこにあるのが最も良いかはっきりしていません。コンテナや別の/外部のマウントウェブサイト?dockerized Sinatraアプリは、ソースコードがコンテナ内にあるのかマウントされているのでしょうか?

私は別のマウントの利点は、サイトのコードが頻繁に更新される場合、Gitからマウントへのコードのエクスポートを開始し、シンボリックリンクを切り替えて、おそらくサーバーはどういうわけか...?したがって、コンテナを再作成して再配置する必要はありません。

一方、コンテナ内のソースを使用すると、それが本当に有利なのであれば、それはすべて自己完結型でポータブルであると思うでしょうか?

私はこれについて人の賛否両論を聞くことに興味があります。

私たちのアプリケーションは、数人が使用する小さなものであり、ほとんど変更されません。

おかげ

+0

を参照してください? http://tarunlalwani.com/post/deploying-code-inside-docker-images-statically-dynamically/ –

答えて

1

地域の発展のために、それはアプリのディレクトリをマウントして、コンテナにそれを実行するために理にかなっています。しかし、私はいつもコンテナにすべてを置く生産のために。そうでなければちょっと面倒です。宝石の更新などで始まります。 Gemファイルを最初に追加してバンドルの更新を実行してから、アプリケーションファイルを追加すると、非常にリーンなビルドプロセスが実行され、更新にはほとんど時間がかかりません。いくつかの自動化と組み合わせることで、プロダクションアプリでは問題にならないはずです。 Gemファイルが変更された場合にのみGemが更新されます。

例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 
関連する問題