CentOS6 Dockerイメージを--privilegedモードで動かすとinitが途中で止まる
CentOS6上にgitlabのdockerコンテナを作成して動作させる: 発火後忘失 に記載した通りセットアップを行った後、
$ docker run -d --privileged centos:centos6 /sbin/init
で動作させてこのコンテナに入りpstree -aを実行してみると、
sh-4.1# pstree -a
init
|-rc.sysinit /etc/rc.d/rc.sysinit
| `-start_udev /sbin/start_udev
| `-udevadm settle
`-udevd -d
の表示のまま動かないんですよね。udevadm settleで止まったまま。
私の知識では原因の想像もつかないので、前回の記事では--privilegedオプションを付けないようにしました。
再起動するとsshで入れなくなって、init使えないのかなあ?なんて思ってたらこんなオチでした。
--privilegedオプションも何のために必要なのか実はよくわかってないんですけれども…(ドキュメント読んでもさっぱりなのでした…)
以下余談。
centos:centos6 とかで指定した際に取得できるイメージ、これはいつでも同じものが取得できるとは限らないんですよね…
例えば今取得するとCentOS6.6のイメージが落ちてくるが、3ヶ月後にコマンドを打つとCentOS6.7のイメージだったり。
Dockerfile がgithubなんかで公開されてたりしますが、作成者と同じ環境で実行したとしても異なる結果になる可能性があるわけで。
DokerってよくImmutable Infrastructureの顔みたいな感じで紹介されたりしてますが、その第1行目からimmutableさをぶっ壊してるのがちょっと笑えた、というお話でした…
« CentOS6上にgitlabのdockerコンテナを作成して動作させる | トップページ | Android Studioで整形しようとするとスクリーンロックがかかる »
この記事へのコメントは終了しました。
« CentOS6上にgitlabのdockerコンテナを作成して動作させる | トップページ | Android Studioで整形しようとするとスクリーンロックがかかる »
コメント