3
1

Kubernetesがキャッシュ済みのDockerイメージを使い続けてしまう問題の解決方法

Posted at

背景

DockerレジストリにプッシュしたイメージをKubernetesのPodで利用しようとしたが、イメージ内にちょっとしたミスがあったため動かなかった。そのためイメージを修正して、同一バージョンで上書きプッシュした。

これで動くはず!と意気込んでPodを再起動したが、さっきと同じエラーで動かなかった。どうやらミスが解消されていないらしい。かくかくしかじかの調査を経て、どうやらこれはキャッシュの問題でありそうだということが判明した。

どうすればキャッシュを無視して新しいイメージを取得できるか?

結論

imagePullPolicyIfNotPresentにしているとキャッシュを使ってしまうので、キャッシュを手放したいならAlwaysにしよう。

具体的には、PodやDeploymentのマニフェスト内で

spec:
  containers:
    image: 'matoruru/dummyserver:1.0.0'
    imagePullPolicy: IfNotPresent

spec:
  containers:
    image: 'matoruru/dummyserver:1.0.0'
    imagePullPolicy: Always

にしよう。

反省

そもそも同一バージョンを上書きするなよ(小さいミスかつ自分しか使わないイメージだったので許してほしい)

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1