コンテナでアプリケーションを開発するにあたり、コンテナイメージを使用します。
コンテナイメージのバージョンについて注意事項を纏めましたのでご参照頂ければと思います。
目次
・コンテナイメージのバージョンとは?
・DockerHubのコンテナイメージのlatestバージョンとは?
・VScodeでの開発でコンテナイメージのバージョンを指定する方法
・VScodeでの開発で使用したコンテナイメージの扱い
コンテナイメージのバージョンとは?
コンテナイメージはDocker Hubからダウンロードしますが、それにもLinuxディストリビューションと同様に
バージョンが存在します。コンテナイメージは <イメージ名>:<タグ名> という表記で記載されています。
基本的にイメージ名もタグ名もユニークに設定可能ですが、オフィシャルイメージではどの様なイメージなのか
分かりやすく下記の様な表記になっています。
また、alpineを例にするとDocker Hubのalpine LinuxのTOPには下記の様なタグ名でバージョンの相関が
記載されています。あくまで現時点での相関になりますが、下記の場合、タグが 20240923 と edge が
同じコンテナイメージ、3.21.0 と 3.21 と 3 と latest が同じコンテナイメージであることを意味しています。
コンテナイメージのlatestバージョンとは?
上記で挙げた latest というタグが付いたコンテナイメージがあります。
簡単に言えば、最新版という意味になりますが、気を付ける点があります。
開発時など最初は alpine:3.20 と alpine:latest が同じイメージであったとして、その後新しい alpine:3.21 が
リリースされた場合、alpine:latest は 3.20 ⇒ 3.21 に変わります。(TOPで相関を確認できます)
同じコンテナイメージ名を指定しても意図せずメジャーバージョンアップしてしまう場合もありますので、
タグを latest で使うよりは 3.20 といったメジャーバージョンで指定すると良いと思います。
VScodeでの開発でコンテナイメージのバージョンを指定する方法
VScodeで開発する際は、VScodeプロジェクト内のディレクトリにあるDockerfileで指定しています。
そのなかに下記の記述があり、そこでコンテナイメージを指定しています。
※変更する場合は末尾の debian:bullseye-slim の部分のみ変更します。
ARG ARCH
FROM docker.io/${ARCH}/debian:bullseye-slim
VScodeでの開発で使用したコンテナイメージの扱い
VScode(ABOSDE)でコンテナを1度でもビルドすると、使用した元となるコンテナイメージとビルドした
コンテナイメージはATDEに保存されます。
ATDEに保存されたコンテナイメージの表示は下記コマンドで見る事が出来ます。
[ATDE]$ podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/arm64v8/debian bullseye-slim 1138224350f7 2 weeks ago 78.1 MB
以後、ATDEにある同名のコンテナイメージを使用してコンテナイメージをビルドすると、ATDEに
保存されているイメージが優先的に使用されます。
コンテナイメージを入れ替えたい場合はATDE内にあるコンテナイメージを削除してからビルドを
実行すると、最新のイメージがダウンロードされ、ビルド出来ます。
コンテナイメージの消し方
コンテナイメージを消すコマンド
[ATDE]$ podman rmi docker.io/arm64v8/debian:bullseye-slim
同名のコンテナイメージが無い場合は下記でも可能
[ATDE]$ podman rmi debian:bullseye-slim
同じIDのコンテナイメージが無い場合はIDでも可能(podman images で表示される IMAGE ID)
[ATDE]$ podman rmi 1138224350f7 //(被りがなければ先頭1~3文字程度でも可)
以上となります。