LoginSignup
1
1
お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

【Dockerfile】FROM / RUN で vi の使える Ubuntu イメージをビルドする

Last updated at Posted at 2024-06-21

はじめに

この記事では、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 インストラクションが実行されていることがわかります。

image.png

以下のコマンドで、my-ubuntu:24.04 がビルドされたことがわかります。

docker image ls my-ubuntu

image.png

次はビルドしたイメージからコンテナを起動します。
なお、現時点では、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

image.png

docker image history ubuntu:24.04

image.png

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 updateRUN apt-get install -y vim を実行している分、先ほどよりもビルドに時間がかかります。

追記した RUN apt-get updateRUN apt-get install -y vim が実行されたことがわかります。

image.png

改めて、コンテナ起動時に vi コマンドが使えるか確認します。

docker container run my-ubuntu:24.04 which vi

今回は、パスが確認できます。

image.png

また、vi を起動することもできます。

docker container run --interactive --tty my-ubuntu:24.04 vi

image.png

参考

関連記事

1
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
1
1