*本サイトはアフィリエイト広告を利用しています。

ConoHa VPS Dockerテンプレートの調査結果を解説!Ubuntuテンプレートとの違いは?

サーバ・インフラ

本記事では、
ConoHa VPS Dockerテンプレートの、
ConoHa VPS Ubnutn 20.04テンプレートとの違いを調査した結果を説明します。

背景の章にて調査に至った経緯を説明しますが、
単にConoHa VPS Ubnutn 20.04テンプレートとの違いを知りたい方や、
どちらを使おうか考えている方は、
ぜひご参考にしていただければと思います。

背景(調査に至った経緯)

以前に下記の記事を書きました。

この記事では、自分に合ったWordPress環境についていくつか構成の候補を取り上げており、
そのうちの一つとして、

④【少し難しい】VPS(IaaS)に自分でコンテナエンジン(Docker等)をインストールしてWordPressコンテナを使って構築する

という構成を取り上げました。

この構成では、
VPSで構築したOS環境にDockerエンジンをインストールするのですが、
私がよく使用しているConoHa VPSにはDockerテンプレートという、
VPS構築時にDockerがプリインストールされるテンプレートがあり、
これを使うメリットがあるのではないか?と考えました。

ただし、
ConoHa VPSのDockerテンプレートはベースとなるディストリビューションはUbuntu 20.04のみしか
選択できません。

よって、そもそもUbuntu 20.40が嫌だという場合は、
そもそも選択肢から外れることになります。

調査内容

前述の通り、
ConoHa VPSのDockerテンプレートは、ベースディストリビューションがUbuntu 20.04ですので、

Ubuntu 20.04テンプレート

Dockerテンプレート(ベースディストリビューションはUbuntu 20.04)

の2つのテンプレートの内容を調査することにしました。

調査項目は下記のようにしました。

  • ディストリビューションのバージョン
  • Debianパッケージの内容
  • システムプロセスツリーの内容

以降でそれぞれの項目について、
テンプレート間の違いを説明します。

ディストリビューションのバージョン

各環境で、lsb_release -aコマンドを実行した結果です。

Ubuntu 20.04テンプレート

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.5 LTS
Release:        20.04
Codename:       focal

Dockerテンプレート

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.4 LTS
Release:        20.04
Codename:       focal

2つのテンプレート間で、
マイナーバージョンに違いがあることが分かりました。

Ubuntu 20.04テンプレートでは20.04.5 LTSへのマイナーアップデートに追従したが、
Dockerテンプレートでは追従できていない、といったところでしょうか。

ちなみに、本記事執筆時点での最新版は、20.04.6 LTSのようです。

Debianパッケージの内容

各環境で、dpkg -lコマンドを実行した結果のdiffを取ったものです。

順番は、
$ diff <ubuntu 20.04テンプレートの結果> <Dockerテンプレートの結果>
としています。

15a16
> apt-transport-https
44a46
> containerd.io
68a71,74
> docker-ce
> docker-ce-cli
> docker-ce-rootless-extras
> docker-scan-plugin
403c409
< libxmlb2:amd64
---
> libxmlb1:amd64
414,417c420,423
< linux-headers-5.4.0-131
< linux-headers-5.4.0-131-generic
< linux-headers-5.4.0-139
< linux-headers-5.4.0-139-generic
---
> linux-headers-5.4.0-110
> linux-headers-5.4.0-110-generic
> linux-headers-5.4.0-66
> linux-headers-5.4.0-66-generic
419,421c425
< linux-image-5.4.0-125-generic
< linux-image-5.4.0-131-generic
< linux-image-5.4.0-139-generic
---
> linux-image-5.4.0-110-generic
424,426c428
< linux-modules-5.4.0-125-generic
< linux-modules-5.4.0-131-generic
< linux-modules-5.4.0-139-generic
---
> linux-modules-5.4.0-110-generic
428,430c430
< linux-modules-extra-5.4.0-125-generic
< linux-modules-extra-5.4.0-131-generic
< linux-modules-extra-5.4.0-139-generic
---
> linux-modules-extra-5.4.0-110-generic
484a485
> pigz
590a592
> slirp4netns

前の調査項目でマイナーバージョンが異なることが分かっているため、
パッケージ内容もそれなりに違いがあると思われるため、一つ一つ細かく見ておりませんが、
Docker関連のパッケージ(”docker”と書いてあるもの)の差分が目立ちます。

Dockerテンプレートは、
Ubuntu 20.04テンプレートにDockerエンジンをインストールしたもの、
と想像して大きく外れていないと思われます。

システムプロセスツリーの内容

各環境で、rootアカウントでpstreeコマンドを実行した結果です。

Ubuntu 20.04テンプレート

systemd-+-ModemManager---2*[{ModemManager}]
        |-accounts-daemon---2*[{accounts-daemon}]
        |-acpid
        |-2*[agetty]
        |-atd
        |-cron
        |-dbus-daemon
        |-f2b/server---4*[{f2b/server}]
        |-irqbalance---{irqbalance}
        |-multipathd---6*[{multipathd}]
        |-networkd-dispat
        |-ntpd---{ntpd}
        |-polkitd---2*[{polkitd}]
        |-qemu-ga
        |-rsyslogd---3*[{rsyslogd}]
        |-snapd---10*[{snapd}]
        |-sshd---sshd---bash---pstree
        |-systemd---(sd-pam)
        |-systemd-journal
        |-systemd-logind
        |-systemd-network
        |-systemd-resolve
        |-systemd-timedat
        |-systemd-udevd
        |-udisksd---4*[{udisksd}]
        `-unattended-upgr---{unattended-upgr}

Dockerテンプレート

systemd-+-ModemManager---2*[{ModemManager}]
        |-accounts-daemon---2*[{accounts-daemon}]
        |-acpid
        |-2*[agetty]
        |-atd
        |-containerd---8*[{containerd}]
        |-cron
        |-dbus-daemon
        |-dockerd---7*[{dockerd}]
        |-f2b/server---4*[{f2b/server}]
        |-irqbalance---{irqbalance}
        |-multipathd---6*[{multipathd}]
        |-networkd-dispat
        |-ntpd---{ntpd}
        |-polkitd---2*[{polkitd}]
        |-qemu-ga
        |-rsyslogd---3*[{rsyslogd}]
        |-snapd---10*[{snapd}]
        |-sshd---sshd---bash---pstree
        |-systemd---(sd-pam)
        |-systemd-journal
        |-systemd-logind
        |-systemd-network
        |-systemd-resolve
        |-systemd-udevd
        |-udisksd---4*[{udisksd}]
        `-unattended-upgr---{unattended-upgr}

違いが分かりづらいので、
下は結果のdiffを取ったものです。

順番は、
$ diff <ubuntu 20.04テンプレートの結果> <Dockerテンプレートの結果>
としています。

5a6
>         |-containerd---8*[{containerd}]
7a9
>         |-dockerd---7*[{dockerd}]
23d24
<         |-systemd-timedat

Dockerテンプレートの方では、
containerdとdockerdが動作しているということで、
やはり、
Dockerテンプレートは、
Ubuntu 20.04テンプレートに追加でDockerエンジンが動作している、
と想像して大きく外れていないと思われます。

systemd-timedatというプロセスも見受けられますが、
システム時刻関連のプロセスということで、今回は特に注目しません。

結論

以上の結果を踏まえると、

Dockerテンプレートは、
Ubuntu 20.04テンプレートに対して
DockerエンジンがインストールされてDocker関連プロセスが起動しているもの、
と想像することができます。

それ以上でもそれ以下でもない、といった感じです。

コンテナを使ったシステム構築を考えている人は
Dockerエンジンをインストールすることの技術的ハードルは低いと言ってよいと思うので、
「Dockerエンジンのインストールの手間を省きたい」
という僅かなメリットしかDockerテンプレートにはないという印象です。

僅かなメリットでもある方が良いのですが、
前述のDockerテンプレートはベースディストリビューションとしてUbuntu 20.04しか選択できない、
という制約がだいぶユーザーを絞るように思います。

よって、
採用ディストリビューションはUbuntu 20.04でもよいという方にとっては、
Dockerテンプレートは採用するメリットがあると考えてよい、ということになります。

まとめ

ConoHa VPS Dockerテンプレートの、
ConoHa VPS Ubnutn 20.04テンプレートとの違いを調査した結果を説明しました。

ConoHa VPSを最安で使用する方法を下の記事で解説しています。
ぜひこちらもご覧ください。

ここまで読んでいただきありがとうございました。

コメント

タイトルとURLをコピーしました