こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
Docker初学者向けに「イメージ」と「コンテナ」について詳しく解説します。
Docker(ドッカー)とは?
Dockerとは、アプリケーションを素早く作成・実行・管理するためのプラットフォームを指します。
Dockerの概要について詳しく知りたい方はこちらの記事をご覧下さい。
【初心者向け】Dockerとは|仮想化技術との違い・基本的仕組み・できること
Dockerについて詳しく学習したい方向けに「Dockerとは?」「動作する仕組み」「仮想化技術としての位置付け」「使用メリット」 を解説します。
【Docker】イメージ・コンテナとは?
Dockerを扱う上で必ず登場する「イメージ」と「コンテナ」について以下解説します。
Dockerイメージ
Dockerイメージとは、Dockerコンテナを作成するためのひな型です。例えば、コンテナがマンションだとすると、イメージはその設計図のようなものです。Dockerイメージには、ライブラリ、設定ファイル、プログラムなどアプリケーション実行に必要なもの一式がまとめられています。
Dockerコンテナ
Dockerイメージをもとに作成される仮想環境のことをDockerコンテナ(またはコンテナ)と呼びます。
【Docker】イメージ・コンテナの仕組み
イメージはコンテナ作成の元となるものであり、コンテナ作成に向けた「設計図」のようなものと前述しました。本記事後半では、イメージとコンテナの仕組みについてさらに深掘ります。
イメージをもとにコンテナを増産可能
イメージはアプリケーション起動の元となるコンテナの設計図のようなものであるため、イメージが1つあれば同じコンテナを量産することができます。そのため、同じコンテナを複数作成・配置したい場合等に便利と言えます。
コンテナからもイメージ作成が可能
イメージをもとにコンテナを作成するだけでなく、コンテナからイメージを作成することも可能です。
では、コンテナからイメージを作成できるメリットとはなんでしょう?
コンテナからイメージを作成できるとは、「作成したコンテナを更新し、その更新内容が反映された設計図(イメージ)を新たに作成できる」ということを意味します。
例えば、複数の同じコンテナが起動していたとしましょう。それらのコンテナを更新したい状況で、仮にコンテナからイメージ作成ができない場合、複数のコンテナを1つずつ更新していく必要が出てきます。これは非常に手間ですね。コンテナからイメージが作成できるならば、1つのコンテナだけ更新し、その更新コンテナからイメージを作成、そのイメージを用いて更新コンテナを量産することができます。
コンテナは別のDocker環境でも利用可能
アプリケーションをDockerイメージとして保存することで、Docker環境がある別のサーバーに持っていくことが可能になります。加えて、別のサーバー上で同じ環境(コンテナ)を再現することができるようになります。
コンテナはDocker Engine上であれば動作するという特徴があります。そのため、現在の環境から別のサーバーやPCに移動したい場合は、移動先の環境にもDocker Engineをインストールし、そこへ元のコンテナから作成したイメージを用いて同じコンテナを再構築すると良いのです。
【参考】Docker関連記事・おすすめ学習法
【厳選】Dockerの学習におすすめの教材
Dockerについて詳しく学習したいという方向けにおすすめの教材をご紹介します。厳選した教材をこちらにまとめていますため併せてご覧下さい。
Docker・Kubernetesの学習におすすめ入門本・動画教材7選|マイクロサービス基盤「コンテナ」の理解促進
次世代のアプリケーションアーキテクチャとして注目度の高いマイクロサービスの基盤であるコンテナ技術Dockerおよびコンテナオーケストレーション技術のKubernetesについて詳しく学びたい方向けに、厳選したおすすめ教材を紹介します。
Docker関連記事一覧
当サイトではDockerに関する記事を多数投稿しています。是非ご覧ください。
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら