このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Docker超入門:とりあえずDockerfileでイメージをビルドしてみよう!

とりあえずDockerfileでイメージをビルドしてみよう!
Dockerを学ぶときに「まずは動かしてみる!」のが一番です。ここでは、UbuntuをベースにしたシンプルなイメージをDockerfileからビルドし、実行してみる流れを紹介します。
最終的には「Hello Ubuntu」と表示するだけの簡単なコンテナを作ります。ですが、この体験を通じてDockerイメージの仕組みが自然と理解できます。

ベースイメージの取得
まずは Docker Hub からベースイメージを取得します。
コマンドの書式
docker image pull <イメージ名>:<タグ>実行例
docker image pull ubuntuタグを指定しないと :latest が適用され、最新のUbuntuイメージが取得されます。
出力例
PS C:\Users\joeac> docker image pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
953cdd413371: Pull complete
Digest: sha256:353675e2a41babd526e2b837d7ec780c2a05bca0164f7ea5dbbd433d21d166fc
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest取得できたかどうかは以下で確認します。
PS C:\Users\joeac> docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 353675e2a41b 12 days ago 117MB出力に ubuntu latest が表示されればOKです。
Dockerfileの作成
次に、作業ディレクトリで Dockerfile を作成します。ここにイメージを構築するための手順を書きます。
作業ディレクトリ「desktop/docker」に移動します。
PS C:\Users\joeac> cd desktop/docker
PS C:\Users\joeac\Desktop\docker>VSCodeでDockerfileを編集します。
「code Dockerfile」と入力します。
PS C:\Users\joeac\Desktop\docker> code DockerfileVSCodeが起動します。

実際のDockerfile内容
以下の内容を入力して保存して終了します。
FROM ubuntu
CMD ["echo", "Hello Ubuntu"]- FROM: ベースとなるイメージを指定します(ここでは ubuntu)。
- CMD: コンテナ起動時に実行するコマンドを指定します。
Dockerfileの基本ルール
命令はすべて大文字で書き、後ろにパラメータを指定します。
Dockerfileでよく使う命令
| 命令 | 説明 |
|---|---|
| FROM | ベースとなるイメージを指定 |
| RUN | コマンドを実行し、新しいレイヤーを追加 |
| CMD | コンテナ起動時のデフォルトコマンドを指定 |
| LABEL | イメージにメタデータ(ラベル)を追加 |
| EXPOSE | 使用するポートを外部に公開 |
| ENV | 環境変数を設定 |
| COPY | ファイルやディレクトリをコピー |
| ENTRYPOINT | コンテナのエントリーポイントを指定 |
| VOLUME | データ共有のマウントポイントを指定 |
| WORKDIR | 作業ディレクトリを指定 |
| ARG | ビルド時に使用する引数を指定 |
イメージのビルド
Dockerfileができたら、実際にイメージをビルドします。
コマンドの書式
docker image build -t <イメージ名>:<タグ> <Dockerfileのあるディレクトリ>実行例
docker image build -t ubuntu-echo .出力例
PS C:\Users\joeac\Desktop\docker> docker image build -t ubuntu-echo .
[+] Building 1.7s (5/5) FINISHED docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.2s
=> => transferring dockerfile: 78B 0.0s
=> [internal] load metadata for docker.io/library/ubuntu:latest 0.2s
=> [internal] load .dockerignore 0.4s
=> => transferring context: 2B 0.0s
=> [1/1] FROM docker.io/library/ubuntu:latest@sha256:353675e2a41babd526e2 0.3s
=> => resolve docker.io/library/ubuntu:latest@sha256:353675e2a41babd526e2 0.1s
=> exporting to image 0.3s
=> => exporting layers 0.0s
=> => exporting manifest sha256:c66b6fa5265b21aed58454a8c2574354a103f1b1c 0.1s
=> => exporting config sha256:a28eb0db1b46ced345cc02b988d608b71901c9fda8b 0.0s
=> => exporting attestation manifest sha256:d8661b74da7d0fdd1bbdb4c64a917 0.1s
=> => exporting manifest list sha256:8f102d5752849275aaee8303f5c60e76717e 0.0s
=> => naming to docker.io/library/ubuntu-echo:latest 0.0s
=> => unpacking to docker.io/library/ubuntu-echo:latest 0.0s
View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/uoi9pqw4ntops2lco8xlji75c-tはイメージに名前をつけるオプションです。.は現在のディレクトリを意味し、そこにDockerfileがあることを示します。
ビルド後に docker image ls を実行すると、ubuntu-echo イメージが追加されています。
コンテナの実行
作成したイメージを使ってコンテナを動かしてみましょう。
実行例
docker container run ubuntu-echo結果はこうなります。
PS C:\Users\joeac\Desktop\docker> docker container run ubuntu-echo
Hello Ubuntu「Hello Ubuntu」と表示されます。
このようにDockerfileから作ったイメージを実際に動かすことで、Dockerの基本的な流れをつかめます。
まとめ
ここまでで学んだ流れは以下の通りです。
- ベースイメージを取得(pull)
- Dockerfileを作成(FROMとCMDを記述)
docker image buildでイメージを生成docker container runで実行し「Hello Ubuntu」を表示
これが「Dockerfileを使って自分のイメージをビルドする」最初の一歩です。
