ニュース
第27回 32ビット環境に迫る「2038年問題」 検証で分かった事実:古賀政純の「攻めのITのためのDocker塾」(2/4 ページ)
ここまで32ビット環境における「2038年問題」と、その検証に向けた準備を進めてきました。今回は準備した環境で実際に検証してみます。ついでに、筆者が18年間愛用する腕時計でも試してみました。
いよいよ2038年問題の時刻を過ぎます。すると、どうなるのでしょうか。dateコマンドを思い切って入力してみてください。
bash-4.1# date Sat Dec 14 05:46:02 JCST 1901
なんと、時刻が「1901年12月14日5時46分」に戻ってしまいました。どこかで見た時刻です。そう、連載第25回で紹介した筆者のスマホと全く同じ現象です。すなわち、筆者のスマホで発生した2038年問題と全く同じ現象が32ビット版Dockerコンテナでも発生していす。
当然ですが、この32ビットのDockerコンテナは正確な時刻ではありませんので、業務で使ってはいけません。ちなみに、64ビットのホストOS側はどうなっているのでしょうか。確認してみます。
# date 2038年 1月 19日 火曜日 12:14:21 JST
ホストOS側は2038年以降の時を正確に刻んでいます。さらに、64ビットのDockerコンテナを起動して問題がないかも確認しておきます。前回入手した64ビット版のCentOS 6.8のDockerイメージを使って、Dockerコンテナを起動します。今回のDockerコンテナ名は、「test2038_64bit」にしました。
# docker run -it \ --rm \ --name test2038_64bit \ -v /etc/localtime:/etc/localtime:ro \ centos:centos6.8 /bin/bash
dateコマンドで時刻を確認してみます。
[root@d1248cc8c0ab /]# date Tue Jan 19 12:19:03 JST 2038
やはり、64ビット版のDockerコンテナは2038年問題をクリアしています。このように、32ビット版のDockerコンテナ環境では2038年問題が発生し、64ビット版のDockerコンテナでは問題のないことが分かりました。
関連記事
- 第25回 32ビット環境に迫る「2038年問題」 時計がおかしくなると……
いまだ数多くのシステムで32ビットのOSやアプリケーションが使われていますが、実は深刻な影響が懸念される「2038年問題」を抱えています。将来どのような影響が出るのかについて、今回から「Docker」による検証を先取りしていきます。 - 第26回 32ビット環境に迫る「2038年問題」 検証における5つの疑問
前回は32ビット環境に忍び寄る「2038年問題」に触れました。Dockerを使った仮想環境での延命措置も期待されますが、実際のところはどうなのでしょうか。今回はその検証に向けた考察をしてみます。 - 第13回 “根が深い”旧システムからDocker環境への移行をどうするか
いざ古い物理サーバや仮想化基盤からDocker環境に移行しようとすると、実に“根が深い”さまざまな課題に直面することになるでしょう。Dockerへの移行について知っておくべき必要最低限のポイントを解説します。 - 【古賀政純の「攻めのITのためのDocker塾」】バックナンバー
Copyright © ITmedia, Inc. All Rights Reserved.