実行中の Docker コンテナの ID または名前を取得する方法

DockerDockerBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Dockerコンテナは、現代のソフトウェア開発とデプロイメントに欠かせない要素となっています。このチュートリアルでは、実行中のDockerコンテナのIDまたは名前を取得する方法を探ります。これは、Dockerベースのアプリケーションを効果的に管理し、トラブルシューティングするための基本的なスキルです。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/start("Start Container") docker/ContainerOperationsGroup -.-> docker/stop("Stop Container") docker/ContainerOperationsGroup -.-> docker/restart("Restart Container") docker/ContainerOperationsGroup -.-> docker/attach("Attach to Container") docker/ContainerOperationsGroup -.-> docker/exec("Execute Command in Container") docker/ContainerOperationsGroup -.-> docker/logs("View Container Logs") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") subgraph Lab Skills docker/ps -.-> lab-414848{{"実行中の Docker コンテナの ID または名前を取得する方法"}} docker/start -.-> lab-414848{{"実行中の Docker コンテナの ID または名前を取得する方法"}} docker/stop -.-> lab-414848{{"実行中の Docker コンテナの ID または名前を取得する方法"}} docker/restart -.-> lab-414848{{"実行中の Docker コンテナの ID または名前を取得する方法"}} docker/attach -.-> lab-414848{{"実行中の Docker コンテナの ID または名前を取得する方法"}} docker/exec -.-> lab-414848{{"実行中の Docker コンテナの ID または名前を取得する方法"}} docker/logs -.-> lab-414848{{"実行中の Docker コンテナの ID または名前を取得する方法"}} docker/inspect -.-> lab-414848{{"実行中の Docker コンテナの ID または名前を取得する方法"}} end

Dockerコンテナの理解

Dockerは、開発者がアプリケーションを一貫性のある再現可能な方法でパッケージ化し、デプロイできるようにする人気のコンテナ化プラットフォームです。コンテナは、アプリケーション、その依存関係、および必要なランタイム環境をカプセル化した軽量で独立した自己完結型のユニットです。

Dockerコンテナとは何か?

Dockerコンテナは、アプリケーションとその依存関係を単一のポータブルなユニットにパッケージ化する方法で、Dockerがインストールされた任意のシステムで簡単にデプロイして実行できます。コンテナは一貫した分離された環境を提供し、基盤となるインフラストラクチャに関係なくアプリケーションが同じように実行されることを保証します。

Dockerコンテナの利点

  • ポータビリティ:コンテナは、開発、テスト、本番などの異なる環境間で、複雑な設定変更を必要とせずに簡単に移動できます。
  • スケーラビリティ:コンテナは、アプリケーションの変化する需要に合わせて簡単にスケールアップまたはスケールダウンできます。
  • 効率性:コンテナは軽量で、従来の仮想マシンよりも少ないリソースを使用するため、実行効率が高くなります。
  • 一貫性:コンテナは、アプリケーションとその依存関係が常に同じ方法でデプロイされることを保証し、不整合やエラーのリスクを軽減します。

Dockerコンテナのアーキテクチャ

DockerコンテナはDockerイメージから構築されます。Dockerイメージは、アプリケーションコード、依存関係、および必要なランタイム環境を含む読み取り専用のテンプレートです。Dockerコンテナが作成されると、イメージの上に読み書き可能なレイヤーが追加され、コンテナがデータを保存したり、環境に変更を加えたりできるようになります。

graph TD A[Docker Image] --> B[Docker Container] B --> C[Read-Write Layer]

Dockerコンテナの使用方法

Dockerコンテナを使用するには、システムにDockerをインストールする必要があります。Dockerをセットアップしたら、dockerコマンドラインツールを使用してコンテナを管理できます。これには、コンテナの作成、起動、停止、削除などが含まれます。

## Pull a Docker image
docker pull ubuntu:22.04

## Create a new Docker container
docker run -it ubuntu:22.04 /bin/bash

## List running Docker containers
docker ps

IDによる実行中コンテナの特定

実行中のDockerコンテナを特定する方法の1つは、一意のコンテナIDを使用することです。コンテナIDは、コンテナを一意に識別する長い16進数の文字列です。

IDによる実行中コンテナの一覧表示

docker psコマンドを使用して、すべての実行中コンテナとそのIDを一覧表示できます。このコマンドは、各実行中コンテナに関する情報を含む表を表示します。これには、コンテナID、コンテナの作成に使用されたイメージ、実行中のコマンド、コンテナの作成時間、コンテナの状態、およびコンテナの名前が含まれます。

docker ps

これにより、次のような表が出力されます。

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1234567890ab ubuntu:22.04 "/bin/bash" 5 minutes ago Up 5 minutes loving_einstein

この例では、コンテナIDは1234567890abです。

IDによるコンテナへのアクセス

コンテナIDがわかったら、それを使用してコンテナとやり取りできます。たとえば、docker attachコマンドを使用してコンテナのターミナルにアタッチできます。

docker attach 1234567890ab

これにより、ターミナルが実行中のコンテナにアタッチされ、直接やり取りできるようになります。

また、コンテナIDを使用して、それぞれdocker stopdocker startdocker rmコマンドを使ってコンテナを停止、起動、または削除することもできます。

## Stop the container
docker stop 1234567890ab

## Start the container
docker start 1234567890ab

## Remove the container
docker rm 1234567890ab

コンテナIDを使用することで、実行中のDockerコンテナを簡単に特定して管理できます。

名前による実行中コンテナの特定

コンテナIDを使用する方法に加えて、実行中のDockerコンテナを名前で特定することもできます。新しいコンテナを作成するとき、Dockerは自動的にデフォルトの名前を割り当てるか、--nameオプションを使用してカスタム名を指定することができます。

名前による実行中コンテナの一覧表示

すべての実行中コンテナとその名前を一覧表示するには、docker psコマンドを使用できます。

docker ps

これにより、前のセクションで示したのと同様の表が表示されますが、「NAMES」列にコンテナ名が表示されます。

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1234567890ab ubuntu:22.04 "/bin/bash" 5 minutes ago Up 5 minutes loving_einstein

この例では、コンテナ名は「loving_einstein」です。

名前によるコンテナへのアクセス

コンテナ名がわかったら、それを使用してコンテナとやり取りできます。たとえば、docker attachコマンドを使用してコンテナのターミナルにアタッチできます。

docker attach loving_einstein

これにより、ターミナルが実行中のコンテナにアタッチされ、直接やり取りできるようになります。

また、コンテナ名を使用して、それぞれdocker stopdocker startdocker rmコマンドを使ってコンテナを停止、起動、または削除することもできます。

## Stop the container
docker stop loving_einstein

## Start the container
docker start loving_einstein

## Remove the container
docker rm loving_einstein

コンテナ名を使用すると、特に複数のコンテナを扱う場合に、Dockerコンテナを覚えやすく管理しやすくなります。

まとめ

このチュートリアルを終えると、実行中のDockerコンテナをIDまたは名前で特定する方法をしっかりと理解することができます。この知識を活用することで、Docker環境を効率的に管理し、問題をトラブルシューティングし、全体的なDocker関連のワークフローを合理化することができます。