基本的なDockerの使い方

基本的なdockerコマンドの使い方の説明
Published

July 31, 2025

この記事では基本的なdockerコマンドの使い方を説明する。

イメージ関連の操作

Docker Hubからのイメージの取得 (docker pull)

Docker Hubはイメージを公開して配布しているサービス(レジストリ)の一つ。 docker pullコマンドを使うことで、Docker Hubからイメージを取ってくることができる。

# alpineという名前の軽量イメージを取ってくる
docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
Digest: sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1
Status: Image is up to date for alpine:latest
docker.io/library/alpine:latest

イメージは{イメージ名}:{タグ}という形式で指定し、 {タグ}を省略した場合は自動的にlatestというタグになる。 上のコマンドの場合は、alpine:latestになる。

イメージ一覧の確認 (docker images)

docker imagesコマンドで自分のPCにあるイメージのリストを表示することができる。 (ここでは最初の2行だけ表示している)

docker images | head -2
REPOSITORY      TAG       IMAGE ID       CREATED         SIZE
alpine          latest    02f8efbefad6   2 weeks ago     8.51MB

イメージの削除 (docker rmi)

docker rmiコマンドで自分のPCにあるイメージを削除することが出来る。 消したいイメージから起動したコンテナが存在する場合は、そのイメージを消すことはできない。 後で説明するdocker rmでコンテナを削除してから、イメージを削除する。

docker images | grep alpine
docker rmi alpine
alpine          latest    02f8efbefad6   2 weeks ago     8.51MB
Untagged: alpine:latest
Untagged: alpine@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1
Deleted: sha256:02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612
Deleted: sha256:0b83d017db6efafadf6b3f18d087d2ce1d67d8f0e927dc7254b0ad088074cd3a

コンテナ関連の操作

コンテナの作成と起動 (docker run)

docker runコマンドで指定したイメージからコンテナを起動できる。

# 削除したalpineイメージをもう一度pullする。メッセージが出ないようにリダイレクト
docker pull alpine > /dev/null
# alpineイメージからコンテナを作成して、unameコマンドを実行してOSの種類を確認
docker run alpine uname -a
Linux 745f0095cc68 6.10.14-linuxkit #1 SMP Sat May 17 08:28:57 UTC 2025 aarch64 Linux

docker runコマンドはコンテナの作成と起動を行う。 起動したコンテナはそのままでは削除されないので、後で説明するdocker rmコマンドを使って自分で削除する。 手作業で削除するのが面倒な場合は、--rmフラグをdocker runコマンドにつけて実行することで、 コンテナを抜けたときに自動で削除される。

コンテナからホスト側のファイルやディレクトリにアクセスするには、 -vフラグを使って、ホスト側のディレクトリをコンテナ側のディレクトリにリンクする。

# -v フラグは以下の形式で指定する
# -v {ホスト側ディレクトリのパス}:{コンテナ側ディレクトリのパス}
# 例えばホストの今いるディレクトリを、コンテナの/dataにリンクしたい場合は次のようにする
docker run --rm -v `pwd`:/data alpine ls -l /data
total 16
drwxr-xr-x    3 root     root            96 Jul 30 05:25 cowsay
-rw-r--r--    1 root     root          7274 Jul 30 05:36 index.qmd
-rw-r--r--    1 root     root          7359 Jul 30 05:36 index.rmarkdown

コンテナのシェルの中に入って、インタラクティブに操作を行いたい場合は、 -itフラグをつけて実行する。 また、環境変数を追加・上書きするには、-eフラグを使って指定する。

# コンテナ内のシェルのプロンプト(PS1)を、'NewPrompt) 'に変更する
docker run --rm -it -e PS1='NewPrompt) ' alpine

コンテナ一覧の確認 (docker ps)

docker psコマンドで現在あるコンテナの一覧を表示できる。 停止中のものも含めてすべてのコンテナを表示するために、-aフラグをつけるとよい。

docker ps -a
CONTAINER ID   IMAGE     COMMAND      CREATED                  STATUS                              PORTS     NAMES
745f0095cc68   alpine    "uname -a"   Less than a second ago   Exited (0) Less than a second ago             hungry_mestorf

コンテナの削除 (docker rm)

docker rmコマンドでコンテナを削除することが出来る。 ただし、コンテナが起動している状態の場合はそのコンテナを消すことはできない。 後で説明するdocker stop, docker killで実行中のコンテナを停止してから、コンテナを削除する。

docker rm {削除したいコンテナのID}
Deleted Containers:
745f0095cc686f0dd838b4af9bac6671b442ec5a00c3265e76da78adb9efaf5d

Total reclaimed space: 0B

コンテナの停止 (docker stop, docker kill)

コンテナの停止にはdocker stopコマンド、強制停止にはdocker killコマンドを使う。

# yesコマンドはずっとyを出力し続けるコマンド
# -dフラグをつけてコンテナを抜けつつ、yesコマンドでコンテナを実行し続ける。
docker run -d alpine yes
docker ps -a
b2e2c6f1246ddd105afe3cbb0dd98a6c05039ab0ad0369249baf9e66165c8269
CONTAINER ID   IMAGE     COMMAND   CREATED                  STATUS                  PORTS     NAMES
b2e2c6f1246d   alpine    "yes"     Less than a second ago   Up Less than a second             mystifying_noether
docker stop {停止させたいコンテナのID}
docker ps -a
b2e2c6f1246d
CONTAINER ID   IMAGE     COMMAND   CREATED          STATUS                      PORTS     NAMES
b2e2c6f1246d   alpine    "yes"     12 seconds ago   Exited (137) 1 second ago             mystifying_noether

停止したコンテナはdocker rmで削除できる。

docker rm {削除したいコンテナのID}
Deleted Containers:
b2e2c6f1246ddd105afe3cbb0dd98a6c05039ab0ad0369249baf9e66165c8269

Total reclaimed space: 0B

自分でイメージを作成するには

自分でイメージを作成するには、通常以下のような手順で行う。

  1. イメージをビルドする専用のディレクトリを作成
  2. その中にビルドに必要なファイルとDockerfileを配置
  3. docker build -t {イメージ名} {ビルド用ディレクトリ}を実行

Dockerfileはイメージをビルドする手順を書いたファイルで、 ここに書かれた手順をもとにイメージをビルドする。

例として、cowsayというコマンドをインストールしたイメージを作成してみよう。 まずはcowsayというディレクトリを作成し、その中に以下のように記述したDockerfileを置く。

cowsay/Dockerfile
FROM ubuntu
RUN apt-get update && apt-get install -y cowsay

次にcowsayディレクトリに移動し、docker buildコマンドを実行する。

cd cowsay
docker build -t cowsay .

特に問題なくビルドできれば、cowsayというイメージが作成され、 以下のようにコンテナを起動してcowsayコマンドを使うことが出来る。

docker run cowsay /usr/games/cowsay "I am a red cow."
 _________________
< I am a red cow. >
 -----------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

キャッシュの削除

dockerを使用しているとそのうち使用が終わったデータでPCの容量が圧迫されることがある。 docker system dfで現在のデータの容量を確認することが出来る。

docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          17        0         5.184GB   5.184GB (100%)
Containers      0         0         0B        0B
Local Volumes   5         0         0B        0B
Build Cache     180       0         105MB     105MB

使用していない余分なデータの削除は以下のようにして行う。

# 使用されていないコンテナの削除
docker container prune

# 使用されていないイメージの削除
docker image prune

# 使用していないボリュームの削除
docker volume prune

# ビルドキャッシュの削除
docker builder prune