第26回 32ビット環境に迫る「2038年問題」 検証における5つの疑問古賀政純の「攻めのITのためのDocker塾」(1/4 ページ)

前回は32ビット環境に忍び寄る「2038年問題」に触れました。Dockerを使った仮想環境での延命措置も期待されますが、実際のところはどうなのでしょうか。今回はその検証に向けた考察をしてみます。

» 2016年07月27日 08時00分 公開

32ビットのOS環境をLinuxのDocker環境で稼働させることができるのか?

 32ビットOSの環境をDockerの環境で稼働させることは、果たして可能なのでしょうか。そのためには、32ビットのOS環境自体が64ビット版Dockerの環境で稼働するのかどうかを確認しなければなりません。Dockerによって、古い32ビット環境を2038年まで使い続けるのは現実的ではありませんが、稼働が技術的に可能かどうかを知っておく必要があります。

 32ビット環境がすぐになくなるわけでない現在の状況を踏まえ、今回は身近にある64ビット版LinuxのDocker環境を用意して、32ビットOS環境をDockerコンテナとして稼働させることができるかどうかを確認します。これを稼働させるにあたって、以下のような素朴な疑問がわいてきます。

  • 疑問1.そもそも32ビット版のDockerイメージは存在するのか?
  • 疑問2.64ビットのLinux上で32ビット版のDockerコンテナを問題なく稼働させることができるのか?
  • 疑問3.ホストOS上になんらかの32ビット互換のソフトウェアが必要なのか?
  • 疑問4.32ビット版OS用のDockerfileは64ビット版と同じか?
  • 疑問5.西暦2038年1月19日3時14分7秒を過ぎたら、Docker環境では何が起こるのか?

疑問1.32ビット版のDockerイメージは存在するのか?

 まず疑問1ですが、実は32ビット版のDockerイメージがコミュニティーによって提供されています。コミュニティーが出している32ビット版CentOSのOSテンプレートをホストOS上で検索してみます。もちろん、ホストOSからインターネットに接続できることが前提です。32ビット版のCentOSのDockerイメージは、docker searchに「centos-i386」を指定することで検索できます。


# docker search centos-i386
NAME                                 DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
toopher/centos-i386                  Images for 32-bit CentOS containers             6                    [OK]
tenforward/centos-i386               CentOS 6 32bit image                            4
castis/centos5-i386                                                                  1                    [OK]
bdobyns/centos4.6_i386_mysql4_jdk5   This adds in jdk5 and a few other minor bi...   1
alanfranz/centos5-i386               Unofficial Centos5 i386 image for Docker.       1                    [OK]
kenneyhe/centos-6.6-i386             centos 6.6 for i386                             0
itorres/centos-i386                                                                  0
datadog/centos-i386                                                                  0
2k0ri/centos-4.8-i386                                                                0
mrrrgn/mozilla-centos-i386                                                           0
uvm00420/centos-i386-build                                                           0
alanfranz/drb-epel-5-i386            docker-rpm-builder build image for centos5...   0                    [OK]
anthrax/centos6-i386                                                                 0
tukiyo3/centos5-i386                 CentOS 5.11 32bit image                         0
mrrrgn/mozilla-centos6-i386                                                          0
yusong905/centos4-i386-dev                                                           0
bdobyns/centos4.6_i386_mysql4        This adds in mysql4, httpd, gcj and a few ...   0
mizzy/centos-4.8-i386                CentOS 4.8 32bit core image                     0
alanfranz/fwd-centos-5-i386          tentative 32 bit build image for centos 5       0                    [OK]
sreinhardt/centos-6-i386                                                             0                    [OK]
sreinhardt/centos-5-i386                                                             0                    [OK]
commiebstrd/centos65-i386                                                            0                    [OK]

 32ビット版のCentOSのOSテンプレートが多数存在することが分かります。CentOS 6.x以外にも、CentOS 5.xやCentOS 4.xなどのレガシーなOSが用意されています。

 32ビット版のDockerイメージが提供されている背景には、古いアプリケーションの延命利用があります。古いアプリの延命には賛否両論ありますが、Docker環境に移行できます。実際にRed Hat Enterprise Linux(RHEL) 4.xやRHEL 5.xなどの32ビットOS環境で、32ビットのアプリを仮想化環境で稼働させている方もいますし、32ビットOSとアプリ環境をDockerコンテナとして稼働させることを検討されている方もいます。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ