Docker · 2 min read · Feb 03, 2026

プリビルドDockerイメージの始め方

イメージはDockerの基本的なコンポーネントです。このガイドでは、Dockerイメージとは何か、どのように構築するか、管理するか、使用するかについて説明します。

始めましょう。

前提条件

  • Dockerイメージを使用する前に、システムにDockerをインストールする必要があります。
  • このガイドではUbuntuを使用しますが、他のディストリビューションでも手順は似ています。
  • ルート権限を持つユーザーアカウント。

知っておくべきこと

Dockerイメージを扱う前に、それが何であるかを知っておくことが重要です。

DockerイメージはDockerの基本的なコンポーネントです。Dockerはイメージを使用してコンテナを作成します。イメージは、コード、ライブラリ、ランタイムなど、コンテナを作成するために必要なすべての情報を含むテンプレートです。

Dockerコンテナはイメージのランタイムインスタンスです。コンテナが実行されている間に行った変更や追加を含め、イメージが含むすべてのものを含みます。たとえば、システムに新しいアプリケーションをインストールすると、その新しいアプリケーションはコンテナ内にインストールされます。

CLIでのイメージ管理

Docker CLIを使用してイメージを管理することは、Docker管理者にとって必須です。Docker CLIは、イメージやコンテナを完全に制御できる強力なツールです。このセクションでは、Docker CLIを使用してイメージを管理する方法を学びます。

  1. 以下のコマンドを実行して、Dockerが実行中であることを確認します。
sudo systemctl status docker

Dockerが実行中であることを確認します。

  1. Dockerが実行されていない場合は、以下のコマンドで開始します。
sudo systemctl start docker
  1. ユーザーアカウントをdockerグループに追加します。変更を有効にするには、ログアウトして再度ログインしてください。
sudo usermod -aG docker $(whoami)
  1. docker imageコマンドを実行すると、docker imageコマンドで利用可能なすべてのオプションのリストが表示されます。
docker image

以下に示すように、docker imageコマンドには多くのオプションがありますが、最も一般的に使用されるものは次のとおりです:

  • ls: システム上のイメージをリストします。
  • pull: レジストリからイメージをプルします。
  • push: レジストリにイメージをプッシュします。
  • create: Dockerfileから新しいイメージを作成します。
  • rm: システムからイメージを削除します。
  • tag: イメージに名前を付けます。

docker image CLIオプション

始めるために、システム上のイメージをリストする方法を見てみましょう。

  1. docker image lsコマンドを実行して、ホスト上のイメージをリストします。docker image lsコマンドは、ホスト上のすべてのイメージをリストし、それらがプルされたリポジトリを含みます。ID、リポジトリ、タグ、イメージのサイズが表示されます。
docker image ls

ホストからイメージを削除したい場合は、rmコマンドを使用できます。イメージ名またはイメージIDを使用してイメージを削除できます。

docker image rm 
docker image rm 

IDを使用する場合は、IDの最初の数文字がリスト内のイメージに対して一意であることを確認してください。言い換えれば、IDの最初の数文字は他のイメージで使用されていない必要があります。

  1. たとえば、ubuntu:12.04イメージを削除するには、次のいずれかのコマンドを使用できます。最初の数文字のID(5b1)だけを使用してイメージを削除できます。なぜなら、その最初の数文字を持つ他のイメージがないからです。
docker image rm ubuntu:12.04
docker image rm 5b1

ubuntu:12.04イメージは、以下に示すように、イメージを作成するために使用されるすべてのレイヤーと共にホストから削除されます。

ubuntu:12.04イメージを削除します。

  1. ubuntu:12.04イメージがもはやリストに表示されていないことを確認するために、再度システム上のイメージをリストします。
docker image ls

docker image lsコマンドとdocker imagesコマンドは、全く同じことを行います。ただし、後者は現在非推奨であり、Dockerは開発者にdockerコマンドを正しいサブコマンドと共に使用することを推奨しています。docker rmiコマンドも同様です。このコマンドは、docker image rmと同じように、イメージとそのすべてのレイヤーを削除するために使用されます。Dockerは、正しいサブコマンドと共にdocker rmを使用することを推奨しています。

docker image ls
docker images

同じ出力が得られます。

docker image lsコマンドとdocker imagesコマンドは全く同じことを行います。

これまで、未使用のイメージを1つずつ削除してきました。複数の未使用のイメージを同時に削除したい場合はどうでしょうか?

ここでpruneコマンドが役立ちます。pruneコマンドを使用すると、ホストからすべての未使用のイメージを一度に削除できます。pruneコマンドを使用して、すべてのダングリングイメージ、すべての未使用のイメージ、またはその両方の組み合わせを削除できます。ダングリングイメージは、少なくとも1つのコンテナに関連付けられていないイメージです。

  1. docker image pruneコマンドを実行して、システムからすべての未使用/ダングリングイメージを削除します。
docker image prune

ご覧のとおり、pruneコマンドはホストからすべての未使用のイメージとそのレイヤーを削除し、その過程で多くのディスクスペースを節約しました。

すべての未使用/ダングリングイメージを削除します。

  1. 画像が本当に消えたことを確認するために、再度ホスト上のイメージをリストします。これで、ホストからイメージをリスト、削除、プルーニングする方法がわかりました。これらの基本コマンドは、システムをクリーンで整理された状態に保つのに役立ちます。
docker image ls

Dockerイメージの検査

Dockerイメージとコンテナを神秘的なブラックボックスのように考えるかもしれません。内部でどのような魔法が行われているのか疑問に思っているでしょう。このセクションでは、Dockerイメージの中に何が含まれているのか、そしてその情報をどのように活用できるかを見ていきます。

  1. Dockerはイメージの内容を検査する方法を提供しています。docker inspectコマンドは、イメージへのパスを受け取り、その豊富な情報を出力します。以下の例に示します。
docker inspect ubuntu

上記のコマンドの出力には多くの情報が含まれています。ここでは、すべての情報がJSON配列という形式で表示されています。

Dockerイメージの検査

Dockerイメージの検査

出力内の情報は、キーと値のストアのように表示されます。Linuxツールのパイプ(|)を使用して、特定のキーワードで出力をgrepすることができます。次の例では、これをどのように行うかを示します。

  1. 以下のコマンドを実行して、docker inspectコマンドの出力をimage-inspect.txtというファイルに保存します。
docker image inspect ubuntu > image-inspect.txt
  1. 次に、お好みのエディタを使用してファイルを開き、その内容を検査します。

sudo nano image-inspect.txt

docker inspectコマンドの出力には、以下に示すように、イメージに関する豊富な情報が含まれています。エディタ内では、異なる情報を検査するためにエディタを上下にスクロールすることができます。必要に応じて情報を編集できます。

ファイルを開いてその内容を検査します。

–format引数を使用して、出力を特定の形式でフォーマットすることもできます。

  1. たとえば、ubuntuイメージのIDを出力するには、次のコマンドを使用できます。
docker image inspect ubuntu --format='{{.ID}}'
  1. イメージIDを確認するために、イメージをリストします。
docker image ls
  1. 以下のコマンドを実行して、docker inspectコマンドの出力をmoreコマンドにパイプします。これにより、出力をページングして、含まれているすべての情報を確認できます。
docker image inspect ubuntu | more

今回は、ContainerConfigセクションにHostname(b32714f341a6)が表示されます。

docker inspectコマンド

  1. もしhostname値(b32714f341a6)だけが必要な場合は、以下のコマンドを実行することで実現できます。
docker image inspect ubuntu --format='{{.ContainerConfig.Hostname}}'

ご覧のとおり、Linuxツールを使用してdocker inspectコマンドを使用してさらにフィルタリングを行うことができます。範囲の例として、192.168.0.0/16範囲内のすべてのIPアドレスをリストすることができます。また、他のスクリプトツールと組み合わせて、さらにクールなことを行うこともできます。

Dockerタグの使用

Dockerイメージを扱い続けると、タグを使用し始めたくなるでしょう。タグを使用すると、イメージを簡単に識別し、管理できます。たとえば、イメージが使用される各環境や、イメージが使用される各顧客やクライアントのためにタグを作成できます。これにより、必要な特定のイメージを見つけやすくなり、どのイメージがどの目的で使用されたかを追跡するのが簡単になります。

イメージにタグを追加するための構文は次のとおりです:

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

タグは有効なASCII文字列であり、小文字と大文字の文字、数字、アンダースコア、ピリオド、ダッシュを含むことができます。ピリオドまたはダッシュで始めることはできず、長さは128文字を超えてはいけません。例を見てみましょう。

  1. イメージにタグを追加するには、まずタグを付けたいイメージの名前またはIDを知っている必要があります。次のコマンドを実行して、システム上のすべての利用可能なイメージをリストできます。
docker image ls
  1. 次のコマンドを実行して、イメージに「myubuntu」タグを追加します。
docker tag ubuntu:latest ubuntu:myubuntu
  1. もう一度docker image lsコマンドを実行すると、イメージが「myubuntu」としてタグ付けされていることがわかります。

タグを使用する

タグは単なるエイリアスであることに注意してください。つまり、イメージは複数のタグを持つことができますが、すべて同じソースイメージを指します。したがって、意味のあるタグを使用する限り、任意のタグを使用できます。イメージを作成するときにタグを追加することは、後で簡単に追跡できるようにするための良いアイデアです。

  1. もう1つの例を見てみましょう。Ubuntuのイメージを「original」というタグで作成したいとします。次のコマンドを実行することでこれを行えます。
docker tag myubuntu:latest myubuntu:original

上記のコマンドは、「latest」タグが付けられたイメージに基づいて「original」タグが付けられたイメージを作成します。現在、2つのmyubuntuイメージがあります:1つはlatestタグが付けられ、もう1つはoriginalタグが付けられていますが、どちらも同じソースイメージID(2b4cba85892a)を指しています。

タグを使用する

Dockerレジストリの操作

Dockerイメージが何であるかの基本的な理解を持ったところで、レジストリの操作を見てみましょう。Docker Hubは最も人気のあるパブリックレジストリですが、他にも選択肢があります。

Docker Hubは、個人および商業目的で無料で使用できるパブリックレジストリです。さまざまなイメージが利用可能で、自分のイメージを作成して他の人と共有することもできます。Docker Hubを使用するには、アカウントを作成し、dockerクライアントをインストールするだけです。その後、docker searchコマンドを使用してイメージを見つけ、docker pullコマンドを使用してダウンロードできます。

これまで、Docker Hubにあるubuntuイメージを使用してきましたが、プライベートレジストリを作成してイメージを保存することもできます。

プライベートDockerレジストリのデプロイ

プライベートレジストリを使用したい理由はいくつかあります:

  • 内部使用のみのイメージを保存するため。機密情報を含むイメージがあり、それを公開したくない場合や、環境で使用されたイメージを追跡したいが、他の人が許可なしにダウンロードできないようにしたい場合。
  • CI/CDの配信パイプラインでイメージのダウンロードを高速化するために、ローカルにキャッシュすること。独自のレジストリを運営し、それを自分のもので保存することは、CI/CDシステムとリンクさせて改善する優れた方法です。
  1. Dockerホストがローカルレジストリを作成する準備ができているか確認します。
docker version
  1. 以下のdocker runコマンドを実行して、ローカルでプライベートレジストリを立ち上げます。ここで:
  • -p 5000:5000 = Dockerホストのポート5000をコンテナのポート5000にマッピングします。
  • –restart=always = コンテナが失敗した場合に常に再起動されることを保証します。
  • –name registry = プライベートレジストリの名前
  • registry:2 = レジストリコンテナを作成するために使用されるイメージ
docker run -d -p 5000:5000 --restart=always --name registry registry:2

ローカルでプライベートレジストリ

  1. 以下のコマンドを実行して、Dockerホスト上のすべての実行中のコンテナをリストします。
docker ps 

次の出力が表示されます。この出力は、レジストリコンテナがDockerホスト上で実行中であることを示しています。:::5000->5000/tcpという表記は、Dockerホストのポートをレジストリコンテナのポートにマッピングするショートカットです。

プライベートレジストリが立ち上がったので、イメージを追加する方法を見てみましょう。以下の例では、ubuntuイメージをレジストリに追加する方法を示します。まず、Docker Hubからイメージをローカルホストにプルし、特定のタグを付ける必要があります。その後、新しくタグ付けされたイメージをプライベートレジストリにプッシュします。最後に、ローカルホストからubuntuイメージを削除し、プライベートレジストリからイメージをプルしてテストします。

  1. 以下のコマンドを実行して、Docker Hubからローカルホストにタグ20.04のubuntuイメージをダウンロードします。
docker image pull ubuntu:20.04
  1. 次に、以下のコマンドを実行して、ダウンロードしたUbuntuイメージを「my-ubuntu」としてタグ付けします。任意のタグを使用できますが、組織にとって意味のあるものを使用することをお勧めします。
docker tag ubuntu:20.04 localhost:5000/my-ubuntu 
  1. 以下のコマンドを実行して、新しくタグ付けされたイメージをlocalhost:5000で実行中のプライベートレジストリにプッシュします。
docker push localhost:5000/my-ubuntu
  1. 以下のコマンドを実行して、ローカルにキャッシュされたubuntuイメージをローカルホストから削除し、プライベートレジストリをテストします。
docker image remove ubuntu:20.04 && docker image remove localhost:5000/my-ubuntu
  1. ローカルにキャッシュされたubuntuイメージが削除されたら、以下のコマンドを実行してプライベートレジストリからイメージをプルします。
docker pull localhost:5000/my-ubuntu
  1. 以下のコマンドを実行して、Dockerホスト上のすべてのイメージをリストします。
docker image ls

my-ubuntuイメージがプライベートレジストリからプルされたことが表示されます。以下の出力は、イメージがプライベートレジストリから正常にプルされたことを確認し、プライベートレジストリが正しく機能していることを示しています。

Dockerホスト上のすべてのイメージをリストします。

イメージのプッシュ、プル、署名

Dockerは、イメージのプッシュ、プル、検索のためのいくつかのコマンドラインオプションを提供しています。このセクションでは、ホストのコマンドラインからレジストリ内のイメージを管理するためにこれらのコマンドを使用する方法を学びます。この例ではDocker Hubを使用してデモを行いますが、他のレジストリでも使用できます。

  1. docker loginコマンドを実行して、Docker Hubレジストリにログインします。プロンプトが表示されたら、ユーザー名とパスワードを入力します。Docker Hubアカウントを持っていない場合は、https://hub.docker.com/で無料で作成できます。
docker login

Docker Hubレジストリにログインします。

  1. ログインしたら、イメージをプッシュする準備が整いました。ubuntu最新イメージをDocker Hubにプッシュしたいとします。また、将来簡単に参照できるように、意味のある名前でイメージにタグを付ける必要があります。この例では、イメージをhowtoforge/ubuntu:latestとしてタグ付けします。お好きなタグ名を使用してください。
docker tag ubuntu:latest howtoforge/ubuntu:latest
docker push howtoforge/ubuntu:latest
  1. ウェブブラウザを開いてDocker Hubに移動します。そこにあなたのイメージが表示されます。このリポジトリは、あなたのユーザー名と使用したタグに基づいて作成されました。この例では、リポジトリはhowtoforge/ubuntuです。タグタブに移動すると、タグが正常に適用されたことがわかります(latest)。

ウェブブラウザを開く

タグを表示します。

  1. 以下のコマンドを実行して、ローカルのubuntuイメージを削除し、プルをテストします。
docker image rm howtoforge/ubuntu

システム上のイメージをリストして、ubuntuイメージが削除されたことを確認します。

docker image ls

ローカルのubuntuイメージを削除します。

  1. 以下のコマンドを実行して、Docker Hubからmy-ubuntuイメージをダウンロードします。
docker pull howtoforge/ubuntu
  1. もう一度ホスト上のイメージをリストして、ubuntuイメージがプルされたことを確認します。my-ubuntuイメージがシステム上に表示されるはずです。
docker image ls

イメージを扱っているとき、Dockerレジストリで特定のイメージを検索したい場合があります。docker searchコマンドを使用して、Dockerレジストリでイメージを検索できます。

  1. docker searchコマンドを実行して、利用可能なすべてのオプションとパラメータを確認します。
man docker search

次の出力が表示されます。有用なフィルタリングオプションが表示されます:

  • stars=: Docker Hubでイメージが持つ星の数で検索結果をフィルタリングします。これを使用して、最も人気のあるイメージを見つけることができます。
  • is-automated=(true|false): 自動ビルドを含めるか除外するかで検索結果をフィルタリングします。自動ビルドのイメージを見つけるために使用できます。
  • is-official=(true|false): 公式イメージを含めるか除外するかで検索結果をフィルタリングします。イメージの背後にある会社によって公式にサポートされているイメージを見つけるために使用できます。たとえば、UbuntuはUbuntuイメージの公式会社です。NginxはNginxイメージの公式会社です。可能な限り公式イメージを使用することをお勧めします。公式イメージに問題が発生した場合、イメージを提供する会社から支援を受けることができます。

manpage docker search

  1. たとえば、docker search –filter=stars=4 ubuntuコマンドを実行して、Docker Hubで4つ以上の星を持つubuntuイメージを検索します。
docker search --filter=stars=4 ubuntu

Docker Hubで4つ以上の星を持つubuntuイメージを検索します。

  1. 以下のコマンドを実行して、Ubuntuの公式イメージであるubuntuイメージを検索します。
docker search --filter=is-official=true ubuntu

出力は、ubuntuイメージを含むリポジトリのリストであり、それが公式のUbuntuイメージであることを示します(OK)。以下のように表示されます。

Ubuntuの公式イメージであるubuntuイメージを検索します。

  1. 以下のコマンドを実行して、Docker Hubで星の評価が100以上で公式のUbuntuイメージであるubuntuイメージを検索します。
docker search --filter="stars=100" --filter=is-official=true ubuntu

Dockerイメージは、アプリケーションコードと構成を保存する優れた方法です。しかし同時に、特に異なるアプリケーションをテストしたり、異なる構成を試したりしていると、多くの未使用のイメージが蓄積されるのは簡単です。レジストリにあるイメージの一部がもはや必要ないことに気付くかもしれません。

イメージを削除するには、イメージを含むリポジトリに移動し、削除ボタンをクリックします。

  1. たとえば、Docker Hubでhowtoforge/ubuntuリポジトリに移動します。設定 > リポジトリの削除をクリックします。リポジトリを削除することを確認するために、リポジトリの名前を入力します。削除をクリックします。

イメージを削除します。

イメージを削除します。

ダッシュボードに戻ると、howtoforge/ubuntuリポジトリが削除され、ubuntuイメージも削除されていることがわかります。

イメージを削除します。

結論

おめでとうございます!この記事の終わりに達しました。Dockerイメージとそれを扱う方法についての基本的な理解を持っているはずです。Dockerイメージを作成するためのガイドがあります。Dockerについてもっと学びたい場合は、公式のDockerドキュメントを読むことをお勧めします。そこでは、次のようなトピックに関する詳細情報を見つけることができます:

  • Dockerfile
  • ネットワーキング
  • ボリューム
  • サービス
  • スウォームモード
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。