2026年8月15日

2026年8月15日

Dockerのcommitでコンテナからイメージを作成する方法

はじめに

Dockerはコンテナ技術を用いたアプリケーションのデプロイと管理を容易にするツールです。しかし、時折コンテナ内で必要不可欠な変更が生じる場合があります。これらの変更を永続化し、新しいイメージを作成することは重要な作業です。本記事では、Dockerのcommitコマンドを使用して、コンテナからイメージを作成する方法について解説します。

症状・背景

このテーマが必要になる主な場面は以下の通りです:

  • コンテナ内でファイルや設定を手動で変更した後、これらの変更を新しいイメージに反映したい場合
  • ベースイメージに依存しない独自のアプリケーション構成を追加する必要がある場合

手順・設定方法

ステップ1: Dockerのcommitコマンドを使用して新しいイメージを作成

# 任意のコンテナ名を指定します。ここでは"my-running-container"とします。
docker commit my-running-container my-new-image

このコマンドは、my-running-containerという名前のコンテナから新しいイメージを作成し、それをmy-new-imageとして保存します。

ステップ2: 新しいイメージを参照するために追加のタグを付与

# イメージに追加のタグを付与します。ここでは"latest"とします。
docker tag my-new-image my-custom-repo/my-new-image:latest

このコマンドは、新しいイメージにmy-custom-repo/my-new-image:latestというタグを付与し、プライベートレジストリ(例:Docker Hub)へのプッシュが可能になります。

ステップ3: 新しいイメージをプライベートレジストリにプッシュ

# Docker CLIを使用して新しいイメージをプライベートレジストリにプッシュします。
docker push my-custom-repo/my-new-image:latest

このステップでは、タグ付けされた新しいイメージをDocker Hub(または他のプライベートレジストリ)にアップロードします。

ステップ4: 実践/トラブルシュート/監視

# コンテナの状態を確認します。
docker ps -a

このコマンドは、コンテナの一覧と詳細情報を表示し、commitコマンドが正しく実行されたことを確認できます。

注意事項

  • commitコマンドを使用すると、コンテナのファイルシステムがイメージに追加されますが、これにより結果的なイメージサイズが大きくなる可能性があります。
  • commitした後のイメージは、元のベースイメージに依存します。そのため、できるだけ単純なベースイメージを使用することが推奨されます。

まとめ

1. コンテナから新しいイメージを作成する: Dockerのcommitコマンドを使用して、コンテナ内の変更を永続化し、新しいイメージを作成します。

2. 新しいタグを付与する: 新しいイメージに適切なタグを追加し、プライベートレジストリへのプッシュが可能になります。

3. プライベートレジストリにイメージをプッシュする: docker pushコマンドを使用して、新しいイメージをDocker Hub(または他のプライベートレジストリ)にアップロードします。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ