0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Docker】Dockerとは

Posted at

はじめに

こんにちは。アメリカに住みながら独学でエンジニアを目指しているTairaです。

本日からDockerの学習を始めました。Dockerについて「具体的にどんな技術なのだろう?」と疑問に思っていましたが、現在勉強している教材がとても分かりやすかったので、簡単にまとめてみようと思います。

なお、記事の内容は参考資料の『仕組みと使い方がわかるDocker&Kubernetesのきほんのきほん』を基に作成しています。

Dockerとは

Dockerとは、コンテナとDockerエンジンを活用してデータやプログラムを隔離できる仕組みです。

Dockerを使うことで、アプリケーションやサービスを個別のコンテナとして独立させ、システム間の干渉を防ぎ、安全で管理しやすい環境を構築できます。

なぜデータやプログラムを隔離したいのか

通常、1つのサーバーには1つのアプリケーションのバージョンしかインストールできません。

例えば、システムAとシステムBが同じMySQLを共有している状況を考えてみます。

システム.png

この状態でMySQLをアップデートすると、

システム2.png

システムAは7.0でしか動作しないのに、システムBは5.0でしか動作しないという問題が発生します。

Dockerを使い、各システムを隔離することで、このようなバージョン間の衝突を解決できます。

システム3.png

※便宜上、システムとMySQLを同じコンテナに入れていますが、本来はそれぞれ別のコンテナに分けるのが望ましいです。

Dockerの仕組み

Dockerは以下の図のような構成になっています。

システム4.png

Docker内部にはLinuxのOSのような仕組みがあります。Linuxはカーネルとディストリビューションの2つに分かれており、Dockerのコンテナにはこのディストリビューション部分が格納されています。

似た仕組みにVirtualBoxなどの仮想環境がありますが、VirtualBoxはOS上に完全な仮想OSを作るため重くなります。一方、Dockerはディストリビューションのみをコンテナに格納するため、VirtualBoxよりも軽量です。

Dockerイメージ

Dockerでコンテナを作る際、1から作る必要はありません。

Docker Hubというサイトからイメージをダウンロードします。イメージは金型のようなもので、Apacheサーバーなどを立ち上げたい場合は、適切なイメージをダウンロードして使用します。

1からサーバーを構築するよりも、Dockerを使用すると大幅に時間を節約できます。

メリット・デメリット

Dockerを使用する主なメリットは以下の通りです。

  • 1台の物理マシンで複数のサーバーを運用できる
  • サーバーの管理が簡単になる
  • サーバーに詳しくなくても手軽に環境構築が可能

一方で、Dockerにもデメリットがあります。

  • コンテナ化による学習コストが発生する
  • コンテナ管理の複雑性が増すことがある

まとめ

Dockerは、アプリケーションやサービスを隔離して管理を簡単にする強力なツールです。バージョン間の衝突や環境依存の問題を解決でき、開発環境や本番環境をスムーズに構築できるメリットがあります。初学者でも理解しやすいので、これからエンジニアを目指す方にはぜひ取り入れてほしい技術です。

参考資料

仕組みと使い方がわかるDocker&Kubernetesのきほんのきほん

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?