1

私はDockersingしてCompute Engineに展開している小さなNodeJS/Expressアプリケーションを構築しています。私はdocker-compose.ymlを開発用にセットアップしました(つまり、ソースディレクトリをマウントしていますので、再構築なしで変更を加えることができます)。Docker&Docker Compose - 画像のコピーを作成しましたが、デバイスのマウントボリュームをコピーします

私は自分のイメージを構築し、Google Cloudのコンテナレジストリにプッシュする予定です。私がそうするとき、ソースコードをイメージに焼きたいと思います。注:これは1人のプロジェクトで、私はどんな種類のCIも設定していません。私はのCOPYでこれを行うことができますが、開発のために同じDockerfileを使用します。生産と開発に別のDockerfileを使用することはOKですか、それともDockerfile内でこれを条件付きで行う方法がありますか?以下のような何か...

if ENV=production 
    COPY blah ./ 
    ... 

答えて

1

ベストプラクティスは、生産、開発のための別のドッキングウィンドウのファイルを維持することです、と をテストする理由は、異なる環境も、これらの3つのステージのために使用することができるということです、長い間に維持するのは簡単ですrun

ドッキングファイルを最小限に抑え、論理作業のために.shスクリプトを使用してください。

+1

ありがとうKalanamith。実際には、副作用のない両方で(コピーとマウント)を行うことができたので、単一の 'Dockerfile'と' .dockerignore'を使用するだけでした。 –

関連する問題