Docker-コンテナーがLinux開発を簡素化する方法

著者: Eugene Taylor
作成日: 16 Aug. 2021
更新日: 22 六月 2024
Anonim
【2021年最新】Docker環境構築入門|14分でdocker-composeまで完全解説!【windows/mac対応】Dockerの使い方
ビデオ: 【2021年最新】Docker環境構築入門|14分でdocker-composeまで完全解説!【windows/mac対応】Dockerの使い方

コンテンツ


出典:Hafakot / Dreamstime.com

取り除く:

Dockerは、開発者がLinuxアプリケーションをコンテナにパッケージ化し、他のシステムに簡単に移植できるようにするツールです。

システム管理者とLinuxユーザーが言っていることに注目すると、彼らはDockerと呼ばれるものに本当に興奮しています。しかし、それは正確に何ですか?そして、なぜあなたは気にする必要がありますか?とにかくDockerを使用しているのは誰ですか?この記事は、Dockerの魅力を説明するのに役立ちます。

Dockerとは何ですか?

Dockerは、アプリケーションをマシンからマシンに移動できる「コンテナ」にパッケージ化する方法です。開発者やシステム管理者にとっては、アプリケーションを出荷し、すべての依存関係とともに動作させることができるため、特に魅力的です。

たとえば、開発者はパーソナルマシンでLAMP(Linux、Apache、MySQL、PHP)を使用してWebアプリケーションをテストおよびビルドし、コンテナ化されたバージョンのアプリとすべてのコンポーネントを含むテストサーバーにアプリをプッシュできます。最小限のUbuntuインストール。マシン間で機能することを保証します。これにより、開発者は新しいアプリケーションを簡単にすばやくテストして展開できます。

Dockerは、実際のLinuxオペレーティングシステムよりも高いレベルの抽象化を提供しますが、本格的な仮想マシンのオーバーヘッドはありません。 Dockerは、両者の中間的な存在です。仮想マシンは完全なオペレーティングシステムを実行する必要があり、コンテナーは必要なコンポーネントを使用するだけなので、仮想マシンの軽量な代替手段です。

オープンソースの精神に忠実に、Docker自身のWebサイトを含む、Dockerコンテナのリポジトリが多数あります。 Linuxディストリビューションが使用するさまざまなパッケージマネージャーに似ています。記事で後述するDockerを使用している多くの企業は、独自の公開リポジトリを維持しています。企業は、内部で使用するプライベートリポジトリを作成することもできます。


Dockerは、コンテナを管理するデーモンと、リクエストを管理するクライアントを備えた分散アーキテクチャで動作します。 DockerはLXCを使用します。これにより、Linuxカーネル内でコンテナーを使用できるようになります。

なぜそんなに人気があるのですか?

Linuxの世界に注目すると、Dockerをめぐる誇大広告が正当化されるのではないかと思うかもしれません。システム管理者と開発者がDockerを非常に愛しているのは、さまざまなマシンからコードをクラウドサービスにまでプッシュできるため、仕事がずっと楽になるからです。

なぜDockerを使用する必要があるのですか?

Dockerは、分散Webアプリケーションの実行に伴う多くの頭痛の種を取り除きます。アプリケーションがApacheまたはMySQLの特定のバージョンに依存している場合、システム上の他のコンポーネントに影響を与えることなくDockerizedバージョンを使用できます。つまり、大規模なサーバーファームでアプリケーションを実行している場合、すべてのノードが同じソフトウェアを実行していることを確認できます。これにより、多数のサーバーで異なるバージョンのインストールを管理するよりも、テストとトラブルシューティングがはるかに簡単になります。

バグやストレスなし-あなたの人生を破壊することなく人生を変えるソフトウェアを作成するためのステップバイステップガイド

誰もソフトウェアの品質に関心がない場合、プログラミングスキルを向上させることはできません。

Dockerを使用しているのは誰ですか?

Dockerはかなり新しいものですが、Yelp、Spotify、Rackspace、eBayなど、さまざまな大手テクノロジー企業に採用されています。それらの多くは、DockerのWebサイトで他の人が自分のリポジトリを利用できるようにしています。

Microsoftでさえ、AzureクラウドコンピューティングプラットフォームでDockerをサポートしています。過去のMicrosoftのLinuxに対する敵意を考えると、Windowsの代わりにクラウドプラットフォームでLinuxを実行できることも驚くべきことです。どちらの場合も、Microsoftは顧客が望むものを提供するだけです。


Dockerまたは仮想化?

Dockerは仮想化のオーバーヘッドを大幅に排除しますが、仮想マシンを実行する必要がある場合があります。いくつかのオペレーティングシステムの機能を実際に活用する必要があるかもしれません。 DockerはLinuxカーネルの機能に依存しているため、Linuxプラットフォームに本当に縛られています。 WindowsまたはBSDの機能を使用する場合は、仮想化を使用することをお勧めします。

結論

アプリケーションの開発とテストを簡単にし、アプリケーションとその依存関係をマシン間で簡単に移動したい場合は、Dockerが理想的な選択肢です。ホスティングプロバイダーが適切なバージョンのUbuntuまたはMySQLを持っているかどうかを心配する必要はありません。ターゲットシステムにコンテナーとしてインストールできるだけです。