【Docker基礎】代表的なサーバ

 Docker のメリットの一つに、1 台の物理マシン上で複数のサーバ機能を同時に稼働させやすい点があります。ここでは、そもそもサーバ機能と呼ばれるものにはどんな種類があるのかをざっくり見ておきましょう。今すぐすべてを覚える必要はありませんが、目を通しておくと Docker を使ううえでのイメージがつかみやすくなります。

代表的なサーバの種類

サーバ特徴
WebサーバWebサイトを公開するためのサーバ。HTMLファイルや画像ファイル、プログラムなどを置き、クライアント(ブラウザ)からのリクエストに応じてデータを返す。
代表的なソフト:Apache、Nginx、IIS など。
メールサーバメールの送受信を扱うサーバ。SMTPサーバ(送信)と POP/IMAPサーバ(受信)を合わせて指すことが多い。
代表的なソフト:Sendmail、Postfix、Dovecot など。
データベースサーバ大量のデータを保存し、必要に応じて検索や更新ができるサーバ。
代表的なソフト:MySQL、PostgreSQL、MariaDB、SQL Server、Oracle Database など。
ファイルサーバファイルを一元管理・共有するサーバ。
代表的なソフト:Samba など。
DNSサーバIPアドレスとドメイン名を結びつける DNS 機能を提供するサーバ。
DHCPサーバネットワーク上の端末に IPアドレスを自動で割り振る機能を提供するサーバ。
FTPサーバFTPプロトコルを用いて、ファイルの送受信を行うサーバ。Webサーバと同居させることも多く、サイト更新などでファイルアップロードに使われる。
プロキシサーバ通信を中継(代理)する役割のサーバ。社内LANからインターネットへ接続する際の中継や、アクセス元を隠す目的などで利用される。
認証サーバユーザー認証を一元管理するサーバ。
Windowsネットワークでの Active Directory や、無線LAN・VPNログインなどに用いられる Radiusサーバ、LDAPサーバなどがある。

サーバ OS は Linux が多数

 サーバは基本的に “物理マシン + OS + サーバソフトウェア” の構成をとります。個人向けパソコンと大きく違わない仕組みですが、役割の違いから Linux や UNIX系 OS が用いられることが多いのが特徴です。

  • Linux/UNIX 系:Red Hat, CentOS, Ubuntu, FreeBSD, Solaris など様々
  • Windows 系:Windows Server

 サーバ向けのソフトウェアは Linux 向けに提供されるものが多いため、必然的に Linux のシェアが高くなっています。ただし、Windows Server も使われる現場は少なくありません。

Docker とサーバの関係

 1 台の物理マシン上で、Webサーバ・データベースサーバ・メールサーバなど複数の機能を同居させる場合、ライブラリのバージョン衝突や設定ファイルの混在などの問題が起こりがちです。

 Docker のコンテナはこれらを 独立した環境 に分けられるため、衝突を回避しつつ複数のサーバ機能を同時に動かしやすくなります。

まとめ

  • サーバ機能には Webサーバやメールサーバなど様々な種類があり、役割に応じて異なるソフトウェアを使う。
  • サーバ OS は Linux や UNIX 系が主流だが、Windows Server も存在する。
  • Docker を使えば、複数のサーバ機能を 1 台で管理しやすくなり、ソフトウェア同士の衝突を防ぎながら運用できる。

 以降の章では、それぞれのサーバがどんなふうに Docker 上で動くのか、より具体的に解説していきます。サーバの種類や OS の違いを踏まえたうえで、Docker の特性をうまく活かしていきましょう。