具体的に知りたいこと
現在社内システム(Webアプリ)をDockerベースで本番運用しています。
開発から環境構築まで全て私一人で行いました。
アプリケーションのフレームワークにはDjangoを使用しており、
本番環境にはAWSのFargateを使用しています。
CodePipelineでCI/CD環境を構築しており、
GitHubのProductionブランチにマージされたことをトリガーにユニットテストの実行、
Fargateへのデプロイが自動的に行われます。
開発は一通り終了しているのですが、
ローカル環境で開発する際にDockerを使用していないことに問題意識を抱えています。
よく「Dockerを使えば本番環境と開発環境が同じものになるから、環境差によるバグがかなり抑えらえる」
と聞きますが、その恩恵を受けていない状態です。
そもそも本番用のDockerfileはローカル環境でビルドすることができない作りになっています。
その理由はビルド時にDB(RDS)接続を行うが、ローカル環境から本番DBには繋がらないためエラーとなるからです。
ローカルでビルドする際はdocker build時に--build-argコマンドを使って何かしらの値を渡し、
Dockerfile内で本番とローカルでDBの接続先を変えるような処理をする必要があるのでしょうか。
もしくは、まったく同じDockerfileを本番と開発で使うという考え自体誤っているのでしょうか。
社内にコンテナに精通しているエンジニアが居ないため質問させていただきました。
恐れ入りますが、ご回答宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/02 02:06
2020/09/02 10:36
2020/09/03 02:19
2020/09/14 03:08 編集