この記事はモバイルファクトリー AdventCalendar 2017 31日目 25日目の記事です。 24日目は @mattak さんの『UniRx Quiz』でした。 はじめに 本記事は、Dockerのマルチステージビルド(multi-stage builds)に関する公式ドキュメントの非公式拙訳です。 本編 マルチステージビルドは、Docker17.05以上で利用できる新機能です。 マルチステージビルドは可読性、保守性を保ちながらDockerfileを最適化するのに苦労している人の役に立ちます。 謝辞: 彼自身のブログへの投稿Builder pattern vs. Multi-stage builds in Dockerを、以降の例のベースとして使用することを許可してくれたAlex Ellisに感謝します。 マルチステージビルド以前 サイズを小さく保ちながらDockerイメージをビル
やりたいこと Docker上に構築したec-cubeのDB(mySQL)にこれまた別のDockerで構築したrailsアプリから接続したい railsとec-cubeでそれぞれ別のdocker-composeファイルが存在する どういう設定したらrailsからec-cubeのDBのコンテナが見れるのかわかんない 解決した方法 別docker-compose 同士のネットワークを繋げる設定をした 具体的にはrailsとec-cubeを同じネットワーク内に所属させ、コンテナ名で参照できるようにした こちら参考にさせていただきました。ありがとうございます・・・・! 別docker-compose同士のネットワークを繋げる方法 設定ファイルとか railsアプリ側の「docker-compose.yml」と「database.yml」の設定 # docker-compose.yml: 「netwo
複雑なプログラムを書いてしまうのを避けるために、if 文の else を避ける制約を設けてプログラミングしてみましょう、というアプローチがあります。これはあくまで、ThoughtWorks アンソロジーに書かれていた、ある種のプログラミング思考のトレーニング方法のひとつにすぎないものです。 しかし、権威だからか、あるいは、あまりコードを書かない人がわかりやすいと感じるからか、プロダクションコードの規約に使おうとする誤った考えがあります。そんなことをすると、コード品質は下がります。 else 禁止制約というのは、「これまで if-else で記述していた多くのコードは、実は、生成するオブジェクトの多態性によって、分岐の前倒しが可能になるものだったのか」という認識を得られれば、すぐに忘れるべきルールです。 ある実在の OSS コードを例に説明します。 https://github.com/xr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く