私のドッカー画像は、Jenkins CIサーバー上に構築され、当社のプライベートドッカーレジストリにプッシュされます。私の目標は、イメージの元々構築された状態を常に開始するdocker-compose環境を提供することです。ドッカーを作成して新鮮な画像から常にコンテナを再作成するにはどうすればよいですか?
私は現在、別のマシンでドッカーの作成1.3.2と1.4.0を使用していますが、以前のバージョンも使用していました。
私はいつもdocker-compose pull && docker-compose up -d
コマンドを使用して、新しいイメージをレジストリから取得して起動しました。私は自分の好みの振る舞いがある時点まで予想どおりに機能していたと考えていますが、その後はいつもオリジナルの画像を起動するのではなく、以前に停止したコンテナを再実行し始めました(docker-compose up
)。
この現象を回避する方法はありますか?そのようにして、docker-compose.yml設定ファイルに接続され、あらゆる呼び出し時にコマンドラインで何かを忘れないようにすることができますか?
ps。私の目標を達成する方法を見つけることに加えて、この行動の背景についてもう少し詳しく知りたい。 Dockerの基本的な考え方は、不変のインフラストラクチャを構築することだと思います。ドッカーの現在の動作は、このアプローチと明白に衝突するようです。ここでいくつかの点を逃していますか?
ええ、実際これは私がCIでやっていることです。なぜ私はそれについて言及していないのか分かりません。 –
@dnephin 'docker-compose run -d'は存在しませんか?あなたは 'docker-upを-d'といいますか? –
'' docker-compose pull'''の前に '' 'docker-compose rm -f'''を実行すると、さらに時間を節約できます – stephanlindauer