最も簡単な質問のように私は答えを見つけることができません。新しい画像を作成せずにドッカー画像をアップグレードするにはどうすればよいですか?
- 私はドッカー画像を作成します。
- run
docker images
は、それが存在することを示します。 - 次に、Dockerファイルに新しい行を追加します。
- 次に、イメージを再構築します。
- 古い画像はまだ
docker images
にあり、新しい画像があります。
新しい画像を作成せずに古い画像を更新するにはどうすればよいですか?
マイドッキングウィンドウのコマンド:docker build -t nick_app . --force-rm --no-cache
(注:うまくいくように思えたので、私はちょうど「それら--force-rmコマンドと--no-キャッシュコマンドを投げ)
前に:
Dockerfile:
FROM ruby:2.3.3
RUN apt-get update -qq && apt-get install -y
CMD ["echo", "Sup"]
ドッカ画像コマンド:
後REPOSITORY TAG IMAGE ID CREATED SIZE
nick_app latest 421662154c3f 9 minutes ago 746.9 MB
ruby 2.3.3 d00ebde6a601 2 days ago 730.1 MB
hello-world latest c54a2cc56cbb 4 months ago 1.848 kB
: Dockerfile:
FROM ruby:2.3.3
RUN apt-get update -qq && apt-get install -y \
build-essential
CMD ["echo", "Sup"]
ドッキングウィンドウのイメージがコマンド:
REPOSITORY TAG IMAGE ID CREATED SIZE
nick_app latest bcf9b3667202 3 seconds ago 746.9 MB
<none> <none> 421662154c3f 10 minutes ago 746.9 MB
ruby 2.3.3 d00ebde6a601 2 days ago 730.1 MB
hello-world latest c54a2cc56cbb 4 months ago 1.848 kB
を私が作るあらゆるdockerfile変更は、再構築に新しいnone
イメージを作成します。それらは累積的なので、私が変更を加えて再構築するたびに別のイメージが得られますnone
イメージ。
ドッカーファイルを変更するたびに、どのようにその中間を取り除くのですか?none
?
は、あなたがイメージの新しいバージョンを作成しているので、何が起こっていることは理にかなっています。あなたは 'docker build'の代わりに直接呼び出すbashスクリプト(答えにコマンドを表示)を何らかの方法でラップする必要があります。 – Arran
私はテキストファイルに変更を加えると技術的には新しいバージョンのテキストファイルですが、ワードプロセッサは中間ファイルを作成せずに新しいテキストファイルの更新を処理するという意味になります。 これはDockerアプリケーションの覗き見に役立つかもしれません:同じタグで再構築した場合、同じイメージになり、すべての中間体/古いバージョンが削除されると仮定します。 –