コンテンツにスキップ

コンテナー

AlmaLinuxのコンテナーイメージが公開されています。 サポートされているリリースのすべてのイメージは毎月、またはセキュリティ修正が必要な場合に更新されます。

最小構成イメージ microdnfパッケージマネージャを使用し、限定されたパッケージセットを含む、シンプルなイメージです。独自の依存関係がバンドルされているアプリケーション(NodeJS、Pythonなど)用に設計されています。almalinux:minimal タグは常に最新バージョンのミニマルイメージで、メジャーリリース (例: almalinux:8-minimal) とマイナーリリース (例: almalinux:8.4-minimal) のタグも用意されています。

プラットフォームイメージ フル機能のDNFスタックと、find、tar、vi など基本的なツールを備えた汎用イメージです。almalinux:latest タグは常に最新の安定版リリースです。メジャーリリースとマイナーリリースには、そのバージョンのタグも付けられます (例: almalinux:8 や almalinux:8.4 など)。

最小構成の利用例

almalinux:8-minimalイメージをベースに、Python 3.9をインストールしてバージョン表示をするだけのコンテナです。パッケージのインストールコマンドはdnfではなく、microdnfを使います。

Dockerfileはこんな感じです。

FROM almalinux:8-minimal

RUN set -x \
    && microdnf install -y python39 \
    && microdnf clean all

ENTRYPOINT ["python3"]

CMD ["-V"]

ビルドしまして…

$ docker build -t test/python .
Sending build context to Docker daemon  313.4MB
Step 1/4 : FROM almalinux:8-minimal
 ---> b819e27a2e69
Step 2/4 : RUN set -x     && microdnf install -y python39     && microdnf clean all
 ---> Running in 6db4264e47cb
+ microdnf install -y python39
Downloading metadata...
Downloading metadata...
Downloading metadata...
Package                                                                 Repository     Size
Installing:
 expat-2.2.5-4.el8.x86_64                                               baseos     113.1 kB
 gdbm-libs-1:1.18-1.el8.x86_64                                          baseos      61.7 kB
 libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64                          baseos      58.9 kB
 libtirpc-1.1.4-5.el8.x86_64                                            baseos     113.6 kB
 python39-3.9.6-2.module_el8.5.0+2571+54860423.x86_64                   appstream   32.2 kB
 python39-libs-3.9.6-2.module_el8.5.0+2571+54860423.x86_64              appstream    8.6 MB
 python39-pip-20.2.4-6.module_el8.5.0+2571+54860423.noarch              appstream    2.1 MB
 python39-pip-wheel-20.2.4-6.module_el8.5.0+2571+54860423.noarch        appstream    1.3 MB
 python39-setuptools-50.3.2-4.module_el8.5.0+2571+54860423.noarch       appstream  890.9 kB
 python39-setuptools-wheel-50.3.2-4.module_el8.5.0+2571+54860423.noarch appstream  507.5 kB
Transaction Summary:
 Installing:       10 packages
 Reinstalling:      0 packages
 Upgrading:         0 packages
 Obsoleting:        0 packages
 Removing:          0 packages
 Downgrading:       0 packages
Enabling module streams:
    python39:3.9


Downloading packages...
Running transaction test...
Installing: libtirpc;1.1.4-5.el8;x86_64;baseos
Installing: libnsl2;1.2.0-2.20180605git4a062cf.el8;x86_64;baseos
Installing: python39-setuptools-wheel;50.3.2-4.module_el8.5.0+2571+54860423;noarch;appstream
Installing: python39-pip-wheel;20.2.4-6.module_el8.5.0+2571+54860423;noarch;appstream
Installing: gdbm-libs;1:1.18-1.el8;x86_64;baseos
Installing: expat;2.2.5-4.el8;x86_64;baseos
Installing: python39-libs;3.9.6-2.module_el8.5.0+2571+54860423;x86_64;appstream
Installing: python39;3.9.6-2.module_el8.5.0+2571+54860423;x86_64;appstream
Installing: python39-setuptools;50.3.2-4.module_el8.5.0+2571+54860423;noarch;appstream
Installing: python39-pip;20.2.4-6.module_el8.5.0+2571+54860423;noarch;appstream
Complete.
+ microdnf clean all
Complete.
Removing intermediate container 6db4264e47cb
 ---> af1c0e56643a
Step 3/4 : ENTRYPOINT ["python3"]
 ---> Running in e16f3f3cfcb2
Removing intermediate container e16f3f3cfcb2
 ---> a6bfd35583df
Step 4/4 : CMD ["-V"]
 ---> Running in 33491ecb853f
Removing intermediate container 33491ecb853f
 ---> 4f82321ea687
Successfully built 4f82321ea687
Successfully tagged test/python:latest

実行します。

$ docker run --rm test/python
Python 3.9.6

ビルドイメージサイズは160MBとなりました。

$ docker image ls
REPOSITORY                                      TAG             IMAGE ID       CREATED         SIZE
test/python                                     latest          c9a4fe0b2f99   2 hours ago     160MB

土台でよく使われそうなイメージを相対的に見ると、いまのところminimalでも大きい方になりそうです。(実際はサイズだけではなく色々比較する要素があるので、利用側の目的やポリシーとのバランスで選択することになると思います)

$ docker image ls
REPOSITORY                                      TAG             IMAGE ID       CREATED         SIZE
debian                                          bullseye-slim   dfeb831cef5f   2 weeks ago     80.4MB
alpine                                          latest          c059bfaa849c   3 weeks ago     5.59MB
almalinux                                       8-minimal       b819e27a2e69   4 weeks ago     102MB
almalinux                                       8               4ca63ce1d8a9   4 weeks ago     198MB
ubuntu                                          focal           ba6acccedd29   2 months ago    72.8MB