こんにちは、神場です。前回まででSwift関連の記事を2つほど書かせていただきましたが、今回はDockerの記事です。開発環境でのDocker開発環境でDockerを導入する場合、アプリケーション、DBなどに分けてdocker-composeでコンテナを立てるのが一般的かと思います。5432:5432このようにアプリケーションのレイヤーも含めてコンテナ化する例が多いと思うのですが、場合によってはアプリケーションレイヤーを除いてコンテナ化するのが良い場合もあるのではないか?というのがこの記事の内容です。127.0.0.1で接続出来ます。)アプリケーションレイヤーを除いてコンテナ化した場合のメリット思いつくものをいくつか列挙してみます。exec等でコンテナに入っておく必要があるということです。手元でサクッと試したい、という場合にローカルのほうが楽な場合があるという感じでしょうか。公式のイメージがあるものだけを使えばDockerfileを書く必要がないMySQLやPostgreSQLなど有名どころのものであればすでにイメージがあるので、自前でDockerfileを書く必要はなくなります。その代わりアプリケーションを起動するローカルの環境は整える必要があるので、以下の条件アプリケーションを起動するまでの初期設定が複雑である使っている言語にバージョン管理やパッケージ管理(Rubyならrbenvやbundler)のエコシステムが揃っていないに当てはまるときは、素直にDockerfileを書いたほうが良さそうです。buildする必要がないDockerfileがないのでもちろんbuildもなくなります。まとめ上記のことを踏まえてまとめると、アプリケーションの初期設定が容易である開発の初期段階で、まだDockerfileが頻繁に変更されるフェーズにあるプロジェクト全体としてはDockerを使っていないが、個人的には使いたいアプリケーションレイヤーをコンテナ化すると開発環境で気になるほどパフォーマンスが下がる(実際にどのぐらい下がるのか未検証ですが。)といったような場合には検討しても良さそうです。限定的ではありますし、環境を完全に揃えたい場合はもちろんDockerfileを書くべきですが、最初の導入としてまずはアプリケーション以外のレイヤーだけをコンテナにするという選択肢もあるのではないかと思います。まとめ月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。