docker ps の使い方
コンテナの一覧
書き方
docker ps
docker ps -a
docker ps -q
docker ps --format '{{.Names}} {{.Status}}'
docker port コンテナ動いているコンテナを表示します。-a で止まったものも、-q で ID だけ。STATUS の Up は動作中、Exited (n) は終了コード n で止まった状態。
よく使うオプション
| オプション | 意味 |
|---|---|
-a | 止まっているコンテナも出す |
-q | コンテナの ID だけを出す |
-f 条件 | 絞り込む(status=exited・name=web・ancestor=nginx など) |
--format テンプレート | 出す列を選ぶ({{.Names}}・{{.Status}}・{{.Ports}} など) |
-s | コンテナが使っている容量も出す |
-n 数 / -l | 最近作ったものを数個だけ/最後の 1 つだけ出す |
例
$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3f2a9c1d8e7b nginx "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 0.0.0.0:8080->80/tcp webいま動いているコンテナの一覧を出します。PORTS の欄で、どのポートをつないでいるかも分かります。
$ docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b1e4d7c2a9f myapp "node app.js" 10 minutes ago Exited (1) 9 minutes ago api
3f2a9c1d8e7b nginx "/docker-…" 12 minutes ago Up 12 minutes 0.0.0.0:8080->80/tcp web止まったコンテナも出します。STATUS が Exited (1) なら、終了コード 1 で止まったことが分かります。
$ docker ps -a -f status=exited
止まっているコンテナだけに絞ります。片付ける前の確認に使います。
$ docker ps --format '{{.Names}}\t{{.Status}}'web Up 12 minutes
api Exited (1) 9 minutes ago名前と状態だけを並べます。列が多くて見づらいときに便利です。
よくある間違い・注意
- docker ps に出ないからといって、コンテナが消えたとは限りません。止まっているだけかもしれないので -a で確かめます。
- Restarting (1) と出続けるときは、起動してはすぐ落ちる状態です。docker logs で原因を見ます。
実際に打って練習する
Docker コースの Lv7「港の帳簿 docker ps」で覚えます(第1章 はじめてのコンテナ)。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
Lv1〜7 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。