Dockerの基本概念とその利用方法について解説します。Dockerは、アプリケーションをパッケージ化し、異なる環境で一貫した動作を保証するためのプラットフォームです。
Dockerとは?
Dockerは、ソフトウェアコンテナの作成と管理を簡素化するプラットフォームです。開発者は、コードが他のマシンでも同じように動作することを確認できます。運用者は、複数のアプリケーションを並行して実行および管理でき、より高い計算密度を得られます。 DockerはLinuxコンテナ技術に基づいており、ユーザーは簡単にコンテナを作成し、自分のアプリケーションをパッケージ化できます。このコンテナはバージョン管理や共有が可能で、普通のコードと同じように扱えます。Dockerを利用する理由
1. 高速なデリバリと展開:一度設定すれば、どこでも正常に動作します。 2. 効率的な仮想化:Hypervisor不要のカーネルレベルの仮想化により、高性能と効率性を実現します。 3. 容易な移行とスケーリング:さまざまなプラットフォーム間での移行が簡単です。 4. シンプルな管理:小さな変更で大規模な更新を置き換えられます。DockerとVMの比較
DockerはフルOSを必要とせず、アプリケーションとその依存関係だけを含むため、軽量で高速です。一方、VMは完全なOSが必要となり、リソース消費が大きくなります。主要な概念
- Dockerデーモン:ホスト上で実行され、ユーザーはDockerクライアントを通じてこれと通信します。 - Dockerクライアント:コマンドラインツールで、ユーザとの主なインターフェースです。 - Dockerイメージ:読み取り専用ファイルで、コンテナを作成するために使用されます。 - Dockerコンテナ:実行中のイメージであり、独立した環境を提供します。 - Dockerレジストリ:イメージの共有と管理を行います。Dockerのインストール
CentOS 7ではyumを使用して簡単にインストールできます:yum install docker systemctl start docker.service systemctl enable docker.service
Hello World
以下は"hello world"イメージを使ってDockerを試す例です:docker pull hello-world docker images docker run hello-world
一般的なコマンド
- ミラーサイトからイメージを取得:docker pull nginx:latest- 実行中のコンテナを表示:
docker ps- コンテナを起動/停止/再起動:
docker start my_container docker stop my_container docker restart my_container- Dockerシステム情報の表示:
docker info