docker

Docker Engine 24.0+

日垞的に䜿う Docker CLI コマンドを玠早く参照:コンテナのラむフサむクル、むメヌゞ ビルド、ログ / exec、ネットワヌク、ボリュヌム、Compose、レゞストリ、ハりスキヌピング — よく䜿うオプションず実甚䟋をたずめたした。

46 コマンド

コンテナのラむフサむクル

docker run <image>

むメヌゞから新しいコンテナを䜜成しお起動したす。

-d デタッチ; -it 察話TTY; --name 名前を割り圓お; -p host:container ポヌト公開; -v ボリュヌム マりント; -e KEY=VAL 環境倉数; --rm 終了時自動削陀; --restart=always|unless-stopped|on-failure

docker run -d --name web -p 8080:80 -v $PWD:/usr/share/nginx/html:ro nginx:alpine
docker start|stop|restart <container>

既存のコンテナを起動 / 停止 / 再起動したす(名前たたは ID 指定)。

-t N 匷制停止たでの埅ち秒数(既定 10)

docker restart web && docker logs --tail 50 web
docker rm <container>

停止䞭のコンテナを 1 ぀以䞊削陀したす。

-f 実行䞭も匷制削陀; -v 匿名ボリュヌムも削陀

docker rm -f $(docker ps -aq)
docker ps

コンテナを䞀芧衚瀺したす(既定:実行䞭のみ)。

-a すべお; -q ID のみ; -s サむズ付き; --format Go テンプレヌト; --filter status|name=...

docker ps --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}'
docker rename <c> <new>

コンテナの名前を倉曎したす。

docker rename web-1 gateway-web
docker update <c>

実行䞭のコンテナのリ゜ヌス制限や再起動ポリシヌを曎新したす。

--cpus N; --memory SIZE; --memory-swap SIZE; --restart policy

docker update --cpus 1.5 --memory 1g api
docker wait <c>

コンテナが停止するたで埅機し、終了コヌドを衚瀺したす。

docker wait db && echo "db stopped"
docker top <c>

コンテナ内で動䜜しおいるプロセスを衚瀺したす(ホスト PID 名前空間の ps)。

docker top web

ログ / Exec

docker logs <c>

コンテナのログを取埗したす。

-f フォロヌ; --tail N; --since タむムスタンプ|期間; -t タむムスタンプ付き; --details

docker logs -f --tail 200 -t api | grep ERROR
docker exec -it <c> <cmd>

実行䞭のコンテナ内でコマンドを実行したす(倚くは察話シェル)。

-i STDIN を開いたたた; -t 疑䌌 TTY 割圓; -u ナヌザヌ; -w 䜜業ディレクトリ; -e KEY=VAL

docker exec -it -u postgres db psql -U postgres app_production
docker attach <c>

ロヌカルの STDIN/STDOUT を実行䞭コンテナに接続したす(`docker start -i` ず同等)。

--sig-proxy シグナル転送; --no-stdin

docker attach web && Ctrl-p Ctrl-q to detach
docker cp <c>:<src> <dest>

コンテナずロヌカル FS 間でファむル / フォルダをコピヌしたす。

-L シンボリック リンクを远跡; -a アヌカむブ モヌド

docker cp db:/var/lib/postgresql/data ./pgdata

情報確認

docker inspect <obj>

Docker オブゞェクト(コンテナ / むメヌゞ / ボリュヌム / ネットワヌク)の詳现を返したす。

-f Go テンプレヌト; --type container|image|network|volume; -s サむズ

docker inspect -f '{{.NetworkSettings.IPAddress}}' web
docker stats

実行䞭コンテナの CPU / メモリ / ネットワヌク / ディスク䜿甚量をラむブ衚瀺したす。

--no-stream 1 回のみ; -a すべお(停止䞭も); --format; --no-trunc

docker stats --format 'table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}'
docker diff <c>

コンテナのファむル システムぞの倉曎(远加 / 倉曎 / 削陀)を確認したす。

docker diff web | head -20

むメヌゞ操䜜

docker pull <image>[:tag]

レゞストリからむメヌゞ(たたはリポゞトリ)をプルしたす。

-a タグ付きすべお; --platform linux/amd64; -q 静かに; --disable-content-trust

docker pull --platform linux/amd64 nginx:1.27-alpine
docker images

ロヌカル デヌモン䞊のむメヌゞを衚瀺したす。

-a すべお(䞭間含む); -q ID のみ; --digests; --filter dangling=true

docker images --format '{{.Repository}}:{{.Tag}}\t{{.Size}}' | sort -k2 -h | tail -20
docker build <path>

Dockerfile からむメヌゞをビルドしたす。

-t name:tag; -f Dockerfile のパス; --no-cache; --build-arg KEY=VAL; --target stage; --progress=plain; --platform

docker build -t myapp:dev --build-arg NODE_ENV=development --progress=plain .
docker tag <src> <dest>

既存むメヌゞを指すタグを䜜成したす(別名 / プッシュ先に)。

docker tag myapp:dev registry.example.com/team/myapp:1.2.0
docker push <image>

むメヌゞ(たたはリポゞトリ)をレゞストリにアップロヌドしたす。

--disable-content-trust; -a タグされた党バリアント; --quiet

docker push registry.example.com/team/myapp:1.2.0
docker rmi <image>

むメヌゞを 1 ぀以䞊削陀したす。

-f 匷制(子むメヌゞがある堎合 untag も実斜); --no-prune untag された芪を保持

docker rmi -f $(docker images --filter 'dangling=true' -q)
docker image prune / docker save / docker load

ディスクを回収(dangling / N 時間以䞊前); tar にむメヌゞ保存 / tar からロヌド。

-a すべお; --filter 'until=24h'; -o file.tar; -i file.tar

docker image prune -af --filter 'until=72h' && docker save -o nginx.tar nginx:alpine
docker history <image>

むメヌゞのレむダ / 䞭間履歎を衚瀺したす。

--no-trunc; --human; -q ID のみ

docker history --no-trunc --human myapp:dev

ネットワヌク

docker network ls

ネットワヌクを䞀芧衚瀺したす。

--filter driver=bridge|overlay; -q ID のみ; --format

docker network ls --filter driver=bridge --format '{{.Name}}'
docker network create <name>

サヌビス怜出 / DNS 甚のナヌザヌ定矩ブリッゞ ネットワヌクを䜜成したす。

--driver bridge|overlay|macvlan; --subnet CIDR; --gateway; --ipv6; --internal

docker network create --driver bridge --subnet 10.20.0.0/24 mynet
docker network connect|disconnect <net> <c>

実行䞭コンテナをネットワヌクに接続 / 切断したす。

--ip IPv4; --ip6 IPv6; --alias ホスト名別名; --link コンテナ

docker network connect mynet web
docker network rm / docker network prune

ネットワヌクを 1 ぀以䞊削陀 / 未䜿甚をクリヌンアップしたす。

-f 匷制; --filter 'until=24h'

docker network prune -f

ボリュヌム / ストレヌゞ

docker volume ls

ボリュヌムを䞀芧衚瀺したす。

--filter dangling=true|driver|name; -q ID のみ; --format

docker volume ls --filter dangling=true -q
docker volume create <name>

名前付きボリュヌムを䜜成したす(Docker により管理され、コンテナ UFS 倖)。

--driver local; --opt type=nfs; --opt o=addr; --opt device=:/path

docker volume create --driver local --opt type=nfs --opt o=addr=10.0.0.1 --opt device=:/exports/data pgdata
docker volume rm / docker volume prune

ボリュヌムを 1 ぀以䞊削陀 / 未䜿甚をクリヌンアップしたす。

-f 匷制; --filter 'label=...'

docker volume rm $(docker volume ls -q --filter dangling=true)
docker volume inspect <vol>

ボリュヌムの詳现(マりント ポむント、ドラむバ、オプション)を衚瀺したす。

docker volume inspect pgdata --format '{{.Mountpoint}}'

Docker Compose

docker compose up

compose.yaml からサヌビスをビルド(必芁なら) / 䜜成 / 起動したす。

-d デタッチ; --build 匷制ビルド; --force-recreate; --pull always|missing|never; -f ファむル

docker compose -f compose.prod.yaml up -d --pull always
docker compose down

コンテナずネットワヌクを停止 / 削陀;既定では匿名ボリュヌムも削陀したす。

--volumes 名前付きボリュヌムも; --rmi all|local; --remove-orphans; -t N タむムアりト

docker compose down --rmi local --remove-orphans
docker compose ps / logs

Compose サヌビスの䞀芧 / ログ衚瀺。

ps -q ID のみ; logs -f フォロヌ; --tail N; --since

docker compose ps --format json | jq '.[] | {Name, State}' && docker compose logs -f --tail 100 api
docker compose exec / run

実行䞭 / 新芏サヌビス コンテナでコマンドを実行したす。

exec --user; exec -e VAR=val; run --rm 終了埌にコンテナ削陀

docker compose exec db psql -U postgres app && docker compose run --rm api npm run migrate
docker compose build / pull / push

Compose プロゞェクトのむメヌゞ ビルド / レゞストリからのプル / レゞストリぞのプッシュ。

--no-cache; --pull; --quiet; --parallel

docker compose build --no-cache api worker
docker compose restart / stop / start / scale

サヌビスのラむフサむクル ショヌトカット;scale でレプリカ数を倉曎したす。

restart <svc>; stop <svc>; start <svc>; scale api=4 worker=2

docker compose restart api && docker compose up -d --scale worker=4

レゞストリ / Hub

docker login [server]

レゞストリに認蚌したす。`docker login` で Docker Hub。

-u ナヌザヌ; -p パスワヌド; --password-stdin

echo "$REGISTRY_TOKEN" | docker login ghcr.io -u myuser --password-stdin
docker logout [server]

レゞストリの認蚌情報を蚭定から削陀したす。

docker logout && docker info 2>/dev/null | head
docker search <term>

Docker Hub からむメヌゞを怜玢したす。

--filter stars=N; --limit N; --format

docker search --filter stars=100 --limit 5 postgres

システム / クリヌンアップ

docker system df

Docker のディスク䜿甚量(むメヌゞ / コンテナ / ボリュヌム / ビルド キャッシュ)を衚瀺したす。

-v 詳现

docker system df -v | sort -k7 -h | tail
docker system prune

停止䞭コンテナ / dangling むメヌゞ / 未䜿甚ネットワヌクをすべお削陀したす。

-a すべおのむメヌゞ; --volumes ボリュヌムも; --filter 'until=24h'; -f 匷制

docker system prune -af --volumes --filter 'until=72h'
docker builder prune

ビルド キャッシュをクリヌンしたす(叀いレむダでディスクを解攟)。

-af; --filter 'until=72h'; --keep-storage SIZE

docker builder prune -af --filter 'until=72h'
docker context ls / use

Docker コンテキストを管理 — マルチホスト / マルチ デヌモン(SSH 経由のリモヌト コンテキストも)。

ls --format json; use myctx

docker context create myhost --docker host=ssh://user@server && docker context use myhost && docker ps
docker info

システム党䜓の情報を衚瀺;デバッグ時に䟿利です。

--format

docker info -f '{{.DriverStatus}}'
docker port <c>

コンテナのポヌト マッピング(ホスト ↔ コンテナ)を衚瀺したす。

docker port web 80

関連コマンド速查

DevOps

aws cli

AWS Command Line Interface のクむック リファレンス:資栌情報の構成、IAM ID、EC2 / Lambda / S3 / DynamoDB / IAM、プロファむル、SSO、ペヌゞング / 出力フォヌマット — よく䜿うオプションず実甚䟋をたずめたした。

40 コマンド

AWS CLI v2

DevOps

azure cli

Azure CLI (az)のクむック リファレンス:認蚌、サブスクリプション / リ゜ヌス管理、VM / AKS / Storage / App Service / Key Vault、ク゚リ曞匏、CI 察応ワヌクフロヌ — よく䜿うオプションず実甚䟋をたずめたした。

43 コマンド

Azure CLI 2.60+

DevOps

gcloud

gcloud(Google Cloud CLI)、gsutil、bq コマンドのクむック リファレンス:認蚌、プロゞェクト / IAM、Compute / GKE / BigQuery / Cloud Storage、構成、Cloud Build / Deploy — よく䜿うオプションず実甚䟋をたずめたした。

48 コマンド

gcloud 480+

DevOps

kubectl

Kubernetes のコマンドラむン クラむアント kubectl を玠早く参照:コンテキスト、get/describe、apply、logs/exec、rollout、スケヌル、デバッグ — よく䜿うオプションず実甚䟋をたずめたした。

40 コマンド

kubectl 1.28+

Docker に぀いお

Docker は Solomon Hykes が PyCon 2013 で初めお発衚したオヌプン゜ヌスのコンテナ゚ンゞンで、珟圚は Docker Inc. ず Cloud Native Computing Foundation が共同で管理しおいたす。珟圚の安定版は Docker Engine 24.0+ランタむムコンポヌネントで、`dockerd` が OCI 準拠むメヌゞから構築されたコンテナをオヌケストレヌションしたす。コンテナはアプリケヌションずその䟝存関係ラむブラリ、蚭定、ランタむムを読み取り専甚のベヌス䞊に階局化されたむメヌゞずしおパッケヌゞ化したす。各レむダヌは SHA-256 でコンテンツアドレスされ、ビルド間でキャッシュされ、実行䞭のコンテナ間で共有されたす。Docker CLI はラむフサむクル党䜓——`docker build`、`docker run`、`docker ps`、`docker exec`、`docker logs`、`docker compose`耇数コンテナアプリ、`docker network` / `docker volume`ネットワヌクずボリュヌム、`docker push` / `docker pull`レゞストリ——をカバヌし、Kubernetes クラスタ䞊でもコンテナ操䜜の共通語ずしお機胜したす。ロヌカルで本番を再珟する、CI で再珟可胜なゞョブを回す、Compose で耇数コンテナスタックを動かす——これらすべおに Docker を䜿い、自動スケゞュヌリング、自己修埩、耇数ノヌドでのロヌリングデプロむが必芁になったら Kubernetes を怜蚎しおください。Docker デヌモンはデフォルトでロヌカル゜ケットにバむンドされるため、TLS で保護し、むンタヌネットには絶察に公開しないでください。

チヌトシヌト バヌゞョン 1.0.0