前回は32ビット環境に忍び寄る「2038年問題」に触れました。Dockerを使った仮想環境での延命措置も期待されますが、実際のところはどうなのでしょうか。今回はその検証に向けた考察をしてみます。
32ビットOSの環境をDockerの環境で稼働させることは、果たして可能なのでしょうか。そのためには、32ビットのOS環境自体が64ビット版Dockerの環境で稼働するのかどうかを確認しなければなりません。Dockerによって、古い32ビット環境を2038年まで使い続けるのは現実的ではありませんが、稼働が技術的に可能かどうかを知っておく必要があります。
32ビット環境がすぐになくなるわけでない現在の状況を踏まえ、今回は身近にある64ビット版LinuxのDocker環境を用意して、32ビットOS環境を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コンテナとして稼働させることを検討されている方もいます。
Copyright © ITmedia, Inc. All Rights Reserved.