はじめに
この記事では、Dockerfile で vi の使える Ubuntu イメージをビルドする手順について記載します。
Dockerfile の以下のインストラクションへの理解促進の一環で行っています。
FROM
RUN
開発環境
開発環境は以下の通りです。
- Windows 11
- Docker Engine 26.1.1
- ubuntu 24.04
ベースイメージを指定する FROM
ベースとなるイメージの指定は、FROM
インストラクションで行います。
今回のベースイメージは、2024年6月時点で latest タグと同等の ubuntu:24.04
にします。
# FROM <image>[:<tag>]
FROM ubuntu:24.04
Dockerfile でイメージをビルドする image build
一度 Dockerfile からイメージをビルドしてみます。
※現時点では、ubuntu:24.04
と同じイメージができます。
Dockerfile からのイメージのビルドは、docker image build
コマンドで行います。
# docker image build [OPTIONS] PATH | URL | -
docker image build --tag my-ubuntu:24.04 .
-
--tag
: ビルドしたイメージにタグをつける
コマンドを実行するとイメージがビルドされます。
先ほど Dockerfile に記載した FROM
インストラクションが実行されていることがわかります。
以下のコマンドで、my-ubuntu:24.04
がビルドされたことがわかります。
docker image ls my-ubuntu
次はビルドしたイメージからコンテナを起動します。
なお、現時点では、vi がインストールされていないため、コンテナ起動時に vi コマンドのパスを確認しても何も応答されません。
docker container run my-ubuntu:24.04 which vi
また、docker image history
コマンドで履歴情報を確認してみます。
現時点では、今回作成した my-ubuntu:24.04
もベースイメージの ubuntu:24.04
も履歴情報は同じです。
# docker image history [OPTIONS] IMAGE
docker image history my-ubuntu:24.04
docker image history ubuntu:24.04
vi コマンドをインストールする RUN
vi コマンドをインストールして、vi コマンドが使えるようにします。
インスールは、RUN
インストラクションでコマンドを実行することで行われます。
コマンドを実行すると、現在のイメージの上に新しいレイヤが作成されます。
FROM ubuntu:24.04
# RUN [OPTIONS] <command> ...
RUN apt-get update
RUN apt-get install -y vim
Dockerfile を更新したので、再ビルドします。
docker image build --tag my-ubuntu:24.04 .
RUN apt-get update
と RUN apt-get install -y vim
を実行している分、先ほどよりもビルドに時間がかかります。
追記した RUN apt-get update
と RUN apt-get install -y vim
が実行されたことがわかります。
改めて、コンテナ起動時に vi コマンドが使えるか確認します。
docker container run my-ubuntu:24.04 which vi
今回は、パスが確認できます。
また、vi を起動することもできます。
docker container run --interactive --tty my-ubuntu:24.04 vi
参考
- Dockerfile reference
- docker image build
- docker image history
- 鈴木亮「開発系エンジニアのためのDocker絵とき入門」秀和システム、2024
関連記事