を更新していない構築:ドッキングウィンドウ・コン後にドッキングウィンドウ-作曲ラン古い私は問題以下のドッキングウィンドウ-構成と見つけ使用した容器
私は私のコードを変更し、私は
docker-compose stop
docker-compose build
を使用ドッカーズを再構築したいときに
そして、私は、システムを実行したい:
docker-compose up
しかし、ノーコード/コンテナの新しいバージョンで実行されますが、古いもの。何をすべきか?
を更新していない構築:ドッキングウィンドウ・コン後にドッキングウィンドウ-作曲ラン古い私は問題以下のドッキングウィンドウ-構成と見つけ使用した容器
私は私のコードを変更し、私は
docker-compose stop
docker-compose build
を使用ドッカーズを再構築したいときに
そして、私は、システムを実行したい:
docker-compose up
しかし、ノーコード/コンテナの新しいバージョンで実行されますが、古いもの。何をすべきか?
この場合、まず古い容器を取り除く必要があります(rm -f
)。だから我々は、で新しいコードを展開することができます: - 最初の命令のビルドイメージ、古いイメージが実行している場合 - 配列の上に
docker-compose build
docker-compose stop
docker-compose rm -f
docker-compose up
ことは偶然ではないですが、建物が終了したとき、古いコンテナは、停止して削除して新しいものを建てことにより、為替れます。
私は便利なコピー&ペーストonelinerでコマンドの上に置く:サイクル、私は私達の連続何とかなるように、すべてをハァハァするヘルパー関数を持っている、あなたが使用することができ
docker-compose build && docker-compose stop && docker-compose rm -f && docker-compose up
docker-compose up --build
またはdocker-compose up --build --force-recreate
NOT WORKING - 私はあなたのソリューションをテストし、両方とも動作しません。最初のこと:私が走っていないと私は見ました: 'docker-compose stop'(それぞれの命題の前に、私はバックグラウンドで複数の走っているコンテナを持っています...)。 2番目のこと:実行中のコードは更新されませんでした(ドッカー作成者が古いコンテナを実行するため、新しいコードでconainerを実行する前に 'docker-compose rm -f'を使用する必要があります)。最後:もし 'stop'と' rm'を使い、あなたのバージョン 'up --build'を使うと、非稼働サービスの大きなギャップ(ビルド時間)を持つコンテナを交換します。 –
私のために働いた – Axalix
ドッカーの新しいバージョン(と 'up --build')で何か変わることがありますか? –
をテストすることができます、erm ...継続的に。基本的には次のように要約:
コンテナをクリアするには:
docker rm -f $(docker ps -a -q)
画像消去するには:明確なボリュームに
docker rmi -f $(docker images -a -q)
を:
docker volume rm $(docker volume ls -q)
ネットワークをクリアするには:
docker network rm $(docker network ls | tail -n+2 | awk '{if($2 !~ /bridge|none|host/){ print $1 }}')
私は一般的に古いコンテナ、ボリューム、ネットワークを必要としないので、それらをすべて消去するために、各ビルド前にドッカー環境をクリーンアップするためのbashスクリプトを作成しました。そして、更新されたコードを使用してドッキングウィンドウを再構築するために、私はmarcelmfsにdocker-compose up --build
クレジットを使用してSource
いや、同じ問題から借りました。実際に働いたのは、 'up'の後に' --build'を追加することです。 – Axalix