Docker コンテナの命名と実行方法

DockerBeginner
オンラインで実践に進む

はじめに

このチュートリアルでは、Docker コンテナの命名と実行の基本を学びます。Docker は、アプリケーションを一貫性があり信頼性の高い方法でパッケージ化およびデプロイするための強力なコンテナ化プラットフォームです。Docker コンテナを適切に命名および管理することは、整理され効率的な開発およびデプロイプロセスを維持するために不可欠です。このガイドの終わりまでに、コンテナ化されたアプリケーションのワークフローを効率化するために、Docker コンテナを効果的に命名および実行する方法を理解するでしょう。

Docker コンテナの概要

Docker は、開発者がコンテナ化された環境でアプリケーションを構築、デプロイ、実行するための、人気のオープンソースプラットフォームです。コンテナは、アプリケーションの実行に必要なコード、ランタイム、システムツール、ライブラリなど、すべてを含んだ軽量で独立した実行可能なソフトウェアパッケージです。

Docker コンテナとは?

Docker コンテナは、アプリケーションとその依存関係をすべて、ソフトウェア開発のための標準化された単位にパッケージ化する方法です。開発者のラップトップから本番サーバーまで、さまざまな環境でアプリケーションを一定かつ信頼性の高い方法で実行できます。

コンテナは互いに、そしてホストオペレーティングシステムから分離されています。これにより、アプリケーションは、基盤となるインフラストラクチャに関係なく、同じ方法で実行されます。これにより、アプリケーションの開発、テスト、デプロイを容易にし、必要に応じてスケールアップまたはスケールダウンすることも容易になります。

Docker コンテナを使用する利点

  • 一貫した環境: Docker コンテナは、アプリケーションとその依存関係をまとめてパッケージ化することで、さまざまなシステム間で一貫性があり再現可能な環境を確立します。
  • 効率の向上: コンテナは軽量で、迅速に起動および停止できます。これにより、システムリソースをより効率的に使用できます。
  • スケーラビリティ: Docker コンテナは簡単にスケールアップまたはスケールダウンできます。これにより、アプリケーションの需要の変化に対応しやすくなります。
  • 移植性: Docker コンテナは、Docker ランタイムをサポートするシステムであればどこでも実行できます。これにより、さまざまな環境間でアプリケーションを簡単に移動できます。
  • 分離: Docker コンテナは互いに、そしてホストシステムから分離されています。これにより、競合やセキュリティ問題のリスクを軽減します。

Docker の開始

Docker を開始するには、システムに Docker ランタイムをインストールする必要があります。公式ウェブサイト (https://www.docker.com/get-started) から Docker をダウンロードしてインストールできます。インストール後、Docker を使用してアプリケーションを構築、実行、管理できます。

## Ubuntu 22.04 で Docker をインストール
sudo apt-get update
sudo apt-get install -y docker.io

Docker がインストールされたら、Docker コンテナを操作するために利用可能なさまざまなコマンドと機能を探索できます。

Docker コンテナの命名

Docker コンテナを使用する際に、適切な命名方法を理解することは重要です。コンテナの命名は、Docker 環境の管理と整理に不可欠な要素です。

自動コンテナ命名

デフォルトでは、名前を指定せずに Docker コンテナを実行すると、Docker はコンテナに自動的に名前を生成します。自動生成される名前は、silly_hopperdistracted_fermat といった特定のパターンに従います。

## 名前を指定せずにコンテナを実行
docker run -d ubuntu

自動生成された名前は、docker ps コマンドを実行することで確認できます。

docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 ubuntu "/bin/bash" 10 seconds ago Up 9 seconds silly_hopper

手動によるコンテナ命名

自動生成された名前は便利な場合もありますが、コンテナに意味のある名前を割り当てる方が、多くの場合、より適切です。Docker コンテナを実行する際に --name オプションを使用することで、これを実現できます。

## カスタム名でコンテナを実行
docker run -d --name my-ubuntu-container ubuntu

これで、docker ps を実行すると、コンテナに割り当てたカスタム名が表示されます。

docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 ubuntu "/bin/bash" 10 seconds ago Up 9 seconds my-ubuntu-container

コンテナに意味のある名前を割り当てることで、特に複雑な環境で複数のコンテナを扱う際に、コンテナを管理し、識別しやすくなります。

コンテナ命名のベストプラクティス

Docker コンテナを命名する際に、以下のベストプラクティスを考慮してください。

  1. 説明的な名前を使用する: コンテナの目的や機能を明確に記述する名前を選択してください。例えば、web-serverdatabase-instance などです。
  2. 名前を短く、一意にする: Docker 環境内で紛らわしくないように、簡潔で一意の名前を心がけてください。
  3. 命名規則に従う: 関連するコンテナをグループ化するために、接頭辞や接尾辞を使用するなど、一貫した命名規則を採用することを検討してください。
  4. 機密情報を避ける: パスワードや API キーなどの機密情報は、コンテナ名に含めないでください。

これらのベストプラクティスに従うことで、整理され、保守可能な Docker 環境を作成し、コンテナの管理とトラブルシューティングを容易にすることができます。

Docker コンテナの実行と管理

Docker コンテナの基本的な理解と命名方法を習得したら、Docker コンテナの実行と管理を開始できます。このセクションでは、Docker コンテナを操作するための必須コマンドとテクニックについて説明します。

Docker コンテナの実行

Docker コンテナを実行するための主要なコマンドは docker run です。このコマンドは、指定された Docker イメージに基づいて新しいコンテナを起動できます。

## デタッチモードで Ubuntu コンテナを実行
docker run -d ubuntu

## カスタム名でコンテナを実行
docker run -d --name my-ubuntu ubuntu

上記の例では、Ubuntu コンテナをデタッチモード (-d) で実行し、コンテナにカスタム名 (--name) を割り当てています。

Docker コンテナの管理

実行中のコンテナがある場合、さまざまな Docker コマンドを使用して管理できます。

コンテナのリスト表示

実行中のすべてのコンテナをリスト表示するには、docker ps コマンドを使用します。

docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 ubuntu "/bin/bash" 10 seconds ago Up 9 seconds my-ubuntu

実行していないコンテナも含めてすべてのコンテナをリスト表示するには、docker ps -a コマンドを使用します。

docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED         STATUS                     PORTS     NAMES
a1b2c3d4e5f6   ubuntu    "/bin/bash"   10 seconds ago   Up 9 seconds                      my-ubuntu
b7c8d9e0f1g2   ubuntu    "/bin/bash"   1 minute ago    Exited (0) 30 seconds ago           silly_hopper

コンテナの停止と起動

実行中のコンテナを停止するには、docker stop コマンドを使用します。

docker stop my-ubuntu

停止したコンテナを起動するには、docker start コマンドを使用します。

docker start my-ubuntu

コンテナの削除

コンテナを削除するには、docker rm コマンドを使用します。

docker rm my-ubuntu

ただし、これによりコンテナは削除されますが、そのコンテナが基づいていた Docker イメージは削除されません。

コンテナの監視とトラブルシューティング

Docker は、コンテナを監視およびトラブルシューティングするためのさまざまなコマンドを提供します。

  • docker logs: 実行中のコンテナのログを表示
  • docker inspect: コンテナの詳細を検査
  • docker stats: コンテナのリソース使用状況統計を表示

これらのコマンドを使用することで、Docker コンテナの動作とパフォーマンスに関する洞察を得ることができ、アプリケーションの管理と保守を容易にします。

まとめ

このチュートリアルでは、Docker コンテナを効果的に命名および実行する方法を学びました。適切なコンテナの命名と管理は、整理され効率的なコンテナ化アプリケーション環境を維持するために不可欠です。Docker コンテナの命名と実行に関するベストプラクティスを理解することで、コンテナ化アプリケーション全体の管理と拡張性を向上させることができます。「docker run name」コマンドは、Docker コンテナを制御および管理するための重要なツールであるため、Docker ベースのプロジェクトで効果的に活用してください。