手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 22.04 Docker の基本操作 – image と container を確認する

この記事の位置づけ

この記事では、Ubuntu 22.04 に Docker Engine を導入した後に確認しておきたい基本操作を整理します。image の取得、container の起動、実行中コンテナへの接続、停止と再起動までを扱います。

Docker の詳細な設計や compose、volume、network までは踏み込みません。まずは docker コマンドで何を操作しているのかを見失わないための確認記事です。

前提

Docker Engine が導入済みで、現在のユーザーから docker コマンドを実行できる状態を前提にします。未導入の場合は、先に Docker Engine の導入記事を確認します。

docker --version
docker info

docker info が権限エラーになる場合は、Docker daemon が起動しているか、利用ユーザーが Docker を操作できる状態になっているかを確認します。

イメージを確認する

Docker では、コンテナを起動する元になるファイルシステムとメタデータを image として扱います。まずは image を探し、取得し、ローカルに存在する image を確認します。

image を検索する

Docker Hub などの registry から image を検索するには docker search を使います。実運用では公式 image か、提供元を確認できる image を選びます。

docker search ubuntu
NAME      DESCRIPTION                                      STARS     OFFICIAL
ubuntu    Ubuntu is a Debian-based Linux operating system   17000     [OK]

検索結果は時期によって変わるため、記事内の出力例は確認の目安です。実際には OFFICIAL、更新状況、tag、提供元を確認します。

ローカル image を確認する

docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

image を取得する

Ubuntu 22.04 の image を明示的に取得します。tag を指定しておくと、意図しない latest 依存を避けやすくなります。

docker pull ubuntu:22.04
docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
ubuntu       22.04     27941809078c   2 days ago   77.8MB

image の詳細を確認する

image の metadata、entrypoint、environment、architecture などを確認するには docker image inspect を使います。

docker image inspect ubuntu:22.04

出力は JSON 形式で長くなります。必要に応じて --formatjq と組み合わせて確認します。

image を削除する

不要になった image は docker rmi で削除できます。ただし、その image を使用中の container がある場合は削除できません。

docker rmi ubuntu:22.04
docker images

コンテナを実行する

container は image から作成される実行単位です。まずは一時的に実行してすぐ終了する例と、起動状態を維持する例を分けて確認します。

一度だけコマンドを実行する

--rm を付けると、コマンド終了後に container が自動削除されます。動作確認や短い検証に向いています。

docker run --rm ubuntu:22.04 echo test
test

対話的にコンテナへ入る

container 内の shell を対話的に使う場合は -it を指定します。終了すると container も終了します。

docker run -it --rm ubuntu:22.04 bash

ここでは shell prompt をコードブロックに含めません。記事からそのままコピーして実行できる形を優先します。

起動状態を維持する

後続の docker exec を試すため、名前付き container を background で起動します。

docker run -itd --name ubuntu-01 ubuntu:22.04 bash

-d は detached mode です。container のメインプロセスが終了すると container も停止するため、この例では bash を起動した状態にしています。

起動中の container を確認する

docker ps
CONTAINER ID   IMAGE          COMMAND   STATUS         NAMES
0ec5811fe75a   ubuntu:22.04   "bash"    Up 3 minutes   ubuntu-01

停止中の container も含めて確認する場合は docker ps -a を使います。

実行中の container に入る

起動中の container 内で command を実行するには docker exec を使います。

docker exec -it ubuntu-01 bash

作業が終わったら container 内の shell から exit します。

container を停止する

container を停止するには docker stop を使います。削除ではないため、container 自体は停止済みとして残ります。

docker stop ubuntu-01
docker ps -a
CONTAINER ID   IMAGE          COMMAND   STATUS                     NAMES
48aa8ef55008   ubuntu:22.04   "bash"    Exited (137) 10 seconds ago   ubuntu-01

container を再起動する

docker start ubuntu-01
docker ps

不要になった container は docker rm で削除します。停止と削除は別の操作として扱います。

docker stop ubuntu-01
docker rm ubuntu-01

基本操作で見る対象

Docker の基本操作では、image と container を混同しないことが重要です。image は起動元、container は image から作成された実行単位です。

対象確認コマンド主な用途
imagedocker imagesローカルにある起動元を確認する
containerdocker ps起動中または停止済みの実行単位を確認する
実行中 containerdocker execcontainer 内で追加の command を実行する
停止済み containerdocker start / docker rm再起動または削除する

まとめ

Docker の基本操作では、まず image を取得し、その image から container を起動し、状態確認、exec、stop、start、rm の流れを押さえます。

この段階では、volume、network、compose などを一度に扱わず、image と container の関係を明確にする方が理解しやすくなります。

参考書籍

参考
書籍
参考書籍

ストーリーで覚える Linux CLI 入門

Linux のコマンドライン操作を基礎から確認したい場合の参考書籍です。Docker の基本操作を進める前提として、shell 操作に慣れておくと理解しやすくなります。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

Ubuntu 22.04 Docker の基本操作 – image と container を確認する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る