🐳

Dockerとは

2023/09/06に公開

この記事ではDocker技術によってDockerは何か?Dockerのメリットや特徴とDockerのイメージ、コンテナについてまとめました。

Dockerとは?

Dockerはインフラ関係やDevOps界隈で注目されている技術の一つで、Docker社が開発している、軽量で高速に動作するコンテナ型の仮想環境の作成、実行するためのプラットフォームです。
Dockerを使うことで、1台のサーバー上で様々なアプリケーションを手軽に仮想化・実行できるようになります。

Dockerの特徴

Dockerは、Linuxのコンテナ技術を使ったもので、よく仮想マシンと比較されます。
従来の仮想化では仮想マシンごとに1つのゲストOSをインストールし、あたかも1台の独立したサーバーのように利用していました。一方でDockerではホストOSのカーネルを共有して利用することで、従来の仮想化と違いゲストOSを必要としません。その分だけDockerは軽快に動作するのが特徴です。

また、Dockerはミドルウェアのインストールや各種環境設定をコード化して管理します。
これはInfrastracture as Code(IaC)と呼ばれていて、ソフトウェア開発で実施されてきた構成管理や自動化などを、サーバーの各種設定やミドルウェアのインストールなどにも適用したものです。

Dockerでできること。

• 1台のサーバー上に複数のアプリケーション実行環境(Dockerコンテナ)を作成・利用できる。

• アプリケーション実行環境(Dockerコンテナ)の他サーバーなどへの移転、他ユーザーとの共有。

• Dockerコンテナでアプリケーションの開発環境を作成し、インターネット上で他エンジニアと簡単に共有できる

Docker利用のメリット

  • 手軽かつスピーディに―アプリケーションの実行環境を確保できる
  • 処理速度が速い(CPUやメモリーの使用量を節約できる)
  • アプリケーション実行環境の移転が簡単

Dockerコンテナ


Dockerによって構築されるアプリケーションの実行環境(仮想環境)のことです。Dockerコンテナは独立した環境として存在し、他のDockerコンテナやホストとなる環境に影響することはありません。Dockerでは専用コマンドでDockerコンテナを作成し、目的のアプリケーションを動作させます。

Dockerイメージ


Dockerコンテナの動作環境についてまとめたテンプレートファイルです。Dockerイメージには、Dockerコンテナに使われるアプリケーションから、アプリケーション実行用のコマンド、メタデータまで含まれます。

Dockerコンテナを作成するためには、Dockerイメージが必要です。的なDockerイメージを専用コマンドで実行することで、Dockerコンテナが起動されアプリケーションの実行環境として使える状態になります。

Dockerパイル

Dockerfileは、Dockerイメージを作るための設計図にあたるテキストファイルです。Dockerfileには、Dockerコンテナの設計内容がコマンド形式でまとめられています。

Dockerfileを専用コマンドにて組み立てる(buildする)ことで、Dockerイメージが作成されるのです。そうしてDockerイメージを実行する(runする)ことによって、Dockerコンテナが作成されます。

Dockerレジストリ

Dockerレジストリとは、Dockerイメージを保存・共有する場所のことです。ユーザーはDockerレジストリ上にDockerイメージを保存したり、他ユーザーが作成したDockerイメージを取得して使ったりできます。

Docker Hub

またDocker公式のDockerレジストリとして、様々なアプリケーションの公式Dockerイメージが公開されています。ユーザーはそれら公式イメージを利用することで、Docker上で簡単にアプリケーションの実行環境を構築できるのです。

まとめ

Dockerとは仮想化技術より軽快に動作する、コンテナ型仮想環境用の技術です。昨今ではさまざまな開発環境でDockerが利用されています。

Discussion