4
0

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のざっくりとした概要

Posted at

Dockerの仕組み

Dockerは「データやプログラムを隔離できる」仕組みで、複数のプログラムを独立した環境で動作させることが可能です。これにより、環境の干渉を防ぎ、安定した動作を実現します。

コンテナとDocker Engine

コンテナとは

コンテナは、プログラムやデータを入れた「独立した物置部屋」のようなものです。コンテナを使用するためには、Dockerのソフトウェア(Docker Engine)をインストールし、コンテナの作成や操作が可能になります。

Docker Engine

Docker Engineをインストールすると、コンテナを作成したり利用することが可能になります。

コンテナはイメージ(image)から作成される

コンテナを作成する際には、あらかじめ用意された「イメージ」というテンプレートを利用します。例えば、MySQL用のコンテナを作成する場合、MySQLのイメージを利用します。

  • イメージはソフトウェアやその環境をまとめたものです
  • コンテナはDocker上に複数作成可能で、必要に応じて柔軟に配置・利用できます

DockerはLinuxマシンで動作

Dockerを利用するには、何らかの形でLinux OSが必要です。WindowsやMacでもDockerは動作しますが、その内部ではLinuxが使われています。また、コンテナ内で動作するプログラムもLinux用のものです。

プログラムの実行環境とライブラリ

PHPやPythonのプログラムを動かすには、それぞれ専用の実行環境とライブラリが必要です。これらを適切に分離して管理しなければ、干渉やエラーの原因になります。

ソフトウェアの構成

WordPressのようなソフトウェアは、プログラム本体だけでなく、データベース(例: MySQL)が必要です。他のプログラムや特定のフォルダ、ディレクトリを共有している場合、環境設定の競合が起こる可能性があります。

環境隔離の必要性

複数のプログラムやシステムが同じ場所で動作すると、設定やデータの衝突が発生することがあります。これを防ぐために、環境を分離して動作させるDockerのような仕組みが有効です。

プログラム間の依存と問題

アップデートによる問題

システムAとシステムBが同じプログラム(例: hogeプログラム)ver.5を共有している場合、片方をver.8にアップデートすると、もう一方が動作しなくなる可能性があります。これは共有部分の変更や競合が原因で発生します。

プログラムを隔離するということ

Dockerコンテナの特性

Dockerのコンテナは、他のコンテナから完全に分離されており、コンテナ内のプログラムも独立しています。これにより、同じサーバー上で異なるバージョンのプログラムを動作させることが可能です。

問題解決

例えば、システムAが「hogeプログラム」ver.5を使用し、システムBがver.8を使用する場合、通常の環境では競合が起きます。しかし、Dockerコンテナを使用すれば、それぞれのプログラムを独立して動作させることで、競合を防ぐことができます。

通常環境との違い

通常、1台のサーバーやパソコンでは1つのソフトウェアの特定バージョンしか動かせないことが多いですが、Dockerコンテナを使うことで、異なるバージョンのソフトウェアも共存可能です。

4
0
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
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?