本日、ナルのSEーNGUYEN NGOC DUCがアプリケーションの開発・デップロイをするための、使いやすい、簡単なプラットフォームを紹介します。

フォロー&いいね!してね!
ドッカーについて

 デベロッパーとして、この問題に出会ったことありますか:

 - 環境設定は複雑すぎる?どのバージョンを利用すれば良いか?時間の無駄!

 - 何回設定してもエラーが出る?皆はできるのに、何故自分だけできない?

 - このアプリケーションはどうやってデップロイする?

 - 何故新人が入った時に、環境設定の仕事を自分に任せるんだろう。。。

 プロセスを自動化することはIT業界でも例外ではなくどんどん発展していて、どんな仕事でも時間節約の観点から考えて、最優先に運用するべきであると思います。では、これらが実用できたらどうでしょうか。

 本日、ナルのSEーNGUYEN NGOC DUCアプリケーションの開発・デップロイをするための、使いやすい、簡単なプラットフォームを紹介します。

 ドッカーと呼ばれています。

 スタックオーバーフローの2019年アンケートによると、ドッカーは人気第一位のプラットフォームです。参考リンクはこちら

ドッカーについて

 ドッカーって何?

 Dockerは、アプリケーションの実行に必要になるプログラム本体/ライブラリ/ミドルウェアや、OSやネットワークの設定などを1つにまとめてDockerイメージを作ります。Dockerでは1つのイメージには、1つのアプリケーションのみを入れておき、複数のコンテナを組み合わせてサービスを構築するのが推奨されています。

 ドッカーコンテナとは?

 参考資料: ドッカーコンテナ

 コンテナはホストOS上に論理的な区画(コンテナ)を作り、アプリケーションを動作させるのに必要なライブラリやアプリケーションなどを1つにまとめ、サーバー仮想化に比べオーバーヘッドが少ないため、軽量で高速に動作するのが特徴です。

 ドッカーコンテナ技術は2013年にオーペンソースのドッカーエンジンとして発明されました。

 ドッカーコンテナイメージはアプリケーションを実行するためにコード・ランタイム・システムツールズ・システムライブラリを1つまとめます。

 ドッカーエンジン

ドッカーエンジン

 ドッカーエンジンはクライアントサーバーのアプリケーション。主なコンポーネントは

 - Daemon processというサーバードッカーのリクエスト対応する

 - Daemonと接するREST API

 - コマンドラインインターフェイス(CLI)クライアント

 CLIを利用して、REST APIと接して動作します。または、Docker Daemon通して直接コマンドを入れます。

 ドッカーアーキテクチャ

ドッカーアーキテクチャ

 

 - Docker Daemonはホストマシン上で動きます。ユーザーは直接デーモンと通信せず、Docker クライアントを通して行います。

 - Docker ClientDocker バイナリの形式です。これは主にユーザが Docker との通信に使います。ユーザからのコマンドを受け付けると、その先にある Docker デーモン通信し返します。

 - Docker Volumesはアプリケーションを利用・開発する際、継続的に保存します。

 - Docker Imageは、読み込み専用(read-only) なテンプレートです。例えば、イメージにはUbuntuオペレーティング・システムにApacheとウェブ・アプリケーションが含まれるでしょう。イメージはDockerコンテナの作成時に使われます。Dockerは新しいイメージの構築や、既存イメージの更新を行います。あるいは、他の人が既に作成したDockerイメージをダウンロードすることも可能です。DockerイメージはDockerにおける構築(Build)コンポーネントです。

 - Docker Containerとは、各Dockerイメージのランタイム、アプリケーションを実行する環境です。

 - Docker Registryはイメージを保持します。パブリックもしくはプライベート保管されているイメージのアップロードやダウンロードを行えます。パブリックなDockerレジストリとしてDocker Hubが提供されています。たくさんの利用可能なイメージが提供されています:AWS、Google Cloud, Microsoft Azure。

 - Docker HubはDocker-image(デフォルト)の最大レジストリです。Docker Hubで個人のイメージを保存することができます

 - Docker Repositoryはタグが違、名前が同じなDocker Imagesをまとめます。例えば:mysql:latest

 - Docker Networkingはコンテナを結びます。1つのホストか複数のホストで行えます。

 - Docker Composeはアプリケーションを複数のDocker Containerを実行することができます。ファイル “docker-compose.yml”のコマンドを設定し、使い回すことができます。

 - Docker Swarmはコンテナを実行するためのコンポーネントです。

 - Docker Servicesはプロダクションのコンテナです。

 次の記事では、SE Nguyen Ngoc Ducが、DockerFileに基づき、ドッカーイメージを構築する方法を紹介します。

0/5 (0 Reviews)
フォロー&いいね!してね!