Red Hat Training

A Red Hat training course is available for RHEL 8

11.3. Buildah で Dockerfile からのイメージの構築

buildah コマンドを使用して、Dockerfile から新しいイメージを作成できます。次の手順では、イメージの実行時に実行される簡単なスクリプトを含むイメージを構築する方法を説明します。

この簡単な例では、現在のディレクトリーにある Dockerfile (コンテナーイメージを構築するための命令を保持) と myecho (画面に数単語を表示するスクリプト) の 2 つのファイルで始まります。

# ls
Dockerfile  myecho
# cat Dockerfile
FROM registry.redhat.io/ubi8/ubi
ADD myecho /usr/local/bin
ENTRYPOINT "/usr/local/bin/myecho"
# cat myecho
echo "This container works!"
# chmod 755 myecho
# ./myecho
This container works!

現行ディレクトリーの Dockerfile で、以下のように新しいコンテナーを構築します。

# buildah bud -t myecho .
STEP 1: FROM registry.redhat.io/ubi8/ubi
STEP 2: ADD myecho /usr/local/bin
STEP 3: ENTRYPOINT "/usr/local/bin/myecho"

buildah bud コマンドは、myecho という名前の新規イメージを作成します。新しいイメージを表示するには、以下を入力します。

# buildah images
IMAGE NAME        IMAGE TAG  IMAGE ID      CREATED AT          SIZE
localhost/myecho  latest     a3882af49784  Jun 21, 2019 12:21  216 MB

次に、イメージを実行して、それが機能していることを確認します。

11.3.1. 構築するイメージの実行

以前ビルドしたイメージが機能することを確認するには、podman run を使用してイメージを実行します。

# podman run localhost/myecho
This container works!