Dockerコマンドの備忘録

よく利用するDockerコマンドをまとめておきます。

dockerコマンド実行時にsudoを削除する方法

dockerコマンドを利用するユーザーを、dockerグループに入れます。下記はカレントユーザーをdockerグループに追加しています。

sudo usermod -a -G docker $USER

Dockerイメージのビルド・削除等

イメージのビルド

docker build . -t image_name:tag

イメージの確認

docker images

イメージの削除

docker rmi <image id>

danglingイメージ(Noneのイメージ)を削除

docker image prune

イメージのsha256ハッシュ値の獲得

docker inspect --format='{{.RepoDigests}}' <image id>

Dockerコンテナの起動・停止・アタッチ

色々なコンテナの起動方法

# -i:アタッチしていなくても、標準入力を開き続ける
# -t:TTYの割り当て
# --rm:コンテナ終了時に削除する
docker run -it --rm <docker_image>:<tag>

# CMDを強制上書きして、/bin/bashを起動
docker run -it --rm <docker_image>:<tag> /bin/bash

# ローカルファイルをDockerコンテナにマウントして(-v)、
# ローカルポートをDockerポートと結びつけ(-p)、
# 環境変数を定義する(--env)
docker run -it --rm \
       -v /local/path:/docker/container/path \  
       -p 8080:8080 \
       --env ENV_VAR="hoge" \
       <docker_image>:<tag>

コンテナの停止とアタッチ

# 起動中のコンテナからコンテナを終了させずに抜ける 
# ctrl+pのあとにq

# コンテナにアタッチ 
$ docker attach <container_id>

# 停止しているコンテナにアタッチ 
$ docker start -ai <container_id>

データボリューム

データボリュームの一覧表示

docker volume ls

データボリュームの削除

docker volume rm <volume name>

名前付きボリュームをコンテナにアタッチ

docker run -v <named_volume>:/mnt/named_volume <docker_image>:<tag>

Docker Compose

バックグラウンドで実行する

docker compose up -d

コンテナの停止

docker compose down

特定のサービスのログを確認

docker compose logs <service name>

一部のサービスのみを対象に起動と停止

対象のサービスを終了

docker compose rm -fsv <service name>

対象のサービスを開始

docker compose up -d <service name>

  • この記事を書いた人

たかさん

犬と暮らすクラウドエンジニア。GCPが好きだけど良く触るのはAWSとAzureです。

-コマンド
-