Dockerコマンドの概要
Docker関連のコマンドは 크게二つに分類できます。一つはDockerコマンド、もう一つはDockerfileの命令です。Dockerコマンドは、操作対象によってDockerイメージ操作とDockerコンテナ操作に分別されます。以下では、使用頻度の高いコマンドをカテゴリ別に整理して解説します。
一、Dockerイメージの操作
イメージの取得と検索
# イメージの検索
docker search nginx
# イメージのダウンロード
docker pull nginx
# ローカルにあるイメージの一覧表示
docker images
docker image ls
イメージの削除
# 特定のイメージを削除
docker rmi nginx:latest
# タグなしのnoneイメージを全て削除
docker images | grep "<none>" | awk '{print $3}' | xargs docker rmi
# 強制削除
docker rmi -f myimage:1.0
イメージの実行
# 基本的な実行
docker run hello-world
# バックグラウンドで実行し、ポートマッピング
docker run -d -p 8080:80 nginx
# 対話型モードで実行
docker run -it ubuntu /bin/bash
イメージのタグ付けとプッシュ
# イメージに新しいタグを付与
docker tag myapp:1.0.0 registry.example.com/myapp:latest
# バージョンをlatestに変更
docker tag myapp:2.2.0 myapp:latest
# レジストリにプッシュ
docker push registry.example.com/myapp:latest
イメージの保存と読み込み
# イメージをtarファイルとして保存
docker save -o myapp-backup.tar myapp:1.0
# tarファイルからイメージをロード
docker load -i myapp-backup.tar
二、Dockerコンテナの操作
コンテナの一覧表示
# 実行中のコンテナを表示
docker ps
# 全ての状态的コンテナを表示
docker ps -a
# コンテナIDのみ表示
docker ps -aq
コンテナの起動と停止
# コンテナを停止
docker stop container-abc123
# コンテナを強制終了
docker kill container-abc123
# コンテナを起動
docker start container-abc123
# コンテナを再起動
docker restart container-abc123
コンテナの情報取得
# コンテナの詳細情報を表示
docker inspect container-abc123
# 実行中のプロセスを表示
docker top container-abc123
# コンテナの詳細情報をJSON形式で取得
docker inspect --format "{{.State.Pid}}" container-abc123
コンテナへのログイン
# execコマンドでコンテナに入る(推奨)
docker exec -it container-abc123 /bin/bash
# シェルのみのシンプルなアクセス
docker exec -it container-abc123 sh
ログの確認
# リアルタイムでログを表示
docker logs -f container-abc123
# タイムスタンプ付きで表示
docker logs -t container-abc123
# 特定の時間以降のログを表示
docker logs --since="2024-01-01" container-abc123
# 最後の100行を表示
docker logs --tail=100 container-abc123
ファイル操作
# コンテナからローカルにファイルをコピー
docker cp container-abc123:/app/config.yml ./
# ローカルからコンテナにファイルをコピー
docker cp ./data.txt container-abc123:/app/
コンテナの削除
# 単一のコンテナを削除
docker rm container-abc123
# 全てのコンテナを強制削除
docker rm -f $(docker ps -aq)
# 停止しているコンテナを全て削除
docker container prune
コンテナからイメージを作成
# コンテナを基に新しいイメージを作成
docker commit -m="初期設定完了" -a="developer" container-abc123 myapp:1.0
三、Dockerレジストリの操作
ログインと認証
# Docker Hubにログイン
docker login
# プライベートレジストリにログイン
docker login registry.example.com
# 認証情報の確認
cat ~/.docker/config.json
四、Dockerfileの命令
Dockerfileは用自己的イメージを構築するための設定ファイルです主な命令は以下の通りです:
# ベースイメージの指定
FROM ubuntu:20.04
# メンテナー情報
MAINTAINER developer@example.com
# イメージレイヤの説明
LABEL version="1.0" description="アプリケーションイメージ"
# シェルコマンドの実行
RUN apt-get update && apt-get install -y nginx
# 作業ディレクトリの設定
WORKDIR /app
# 環境変数の設定
ENV APP_ENV=production
# ホストからコンテナへのファイルコピー
COPY ./src /app/src
# ポートの公開
EXPOSE 8080
# コンテナ起動時に実行するコマンド
CMD ["nginx", "-g", "daemon off;"]
# エントリーポイントの定義
ENTRYPOINT ["java", "-jar", "app.jar"]
まとめ
これらのコマンドを組み合わせることで、Dockerイメージの取得からコンテナの起動、 管理までの workflow を効率的に進めることができます。特に実際の開発では、コンテナの再起動やログ確認の機会が多いため、各コマンドの使い方を覚えておくと便利です。