私のDockerイメージはJenkins CIサーバー上に構築され、私たちのプライベートDockerレジストリにプッシュされます。私の目標は、常に最初に構築されたイメージの状態を開始するdocker-composeを使用して環境をプロビジョニングすることです。
現在、さまざまなマシンでdocker-compose 1.3.2および1.4.0を使用していますが、以前のバージョンも使用していました。
私は常にdocker-compose pull && docker-compose up -d
コマンドを使用して、レジストリから新しいイメージをフェッチし、起動しました。私の好みの動作は、特定の時点まで予想どおりに機能していたと思いますが、それ以来docker-compose up
、最初にビルドされたイメージを毎回開始するのではなく、以前に停止したコンテナーを再実行し始めました。
この動作を取り除く方法はありますか?その方法は、すべての呼び出し時にコマンドラインで何かを「忘れない」ことに依存しないようにdocker-compose.yml設定ファイルに配線されている方法でしょうか?
ps。私の目標を達成する方法を見つけることに加えて、私はこの行動の背景についてもう少し知りたいです。Dockerの基本的な考え方は、不変のインフラストラクチャを構築することだと思います。docker-composeの現在の動作は、このアプローチと衝突しているように見えるだけです。