Oracle RAC on Docker 解説

記事の内容と直接関係しませんが、まずは、宣伝から


************************
まだ席に余裕がありますので、興味ある方は是非
JPOUG> SET EVENTS 20151017
https://jpoug.doorkeeper.jp/events/30023


夜会(懇親会)もまだ席に余裕があります
https://jpoug.doorkeeper.jp/events/31847
***********************



以前公開したRAC on Docker ですが、
イメージ公開するだけ公開して解説してなかったので、技術的(というかハマりどころ)を記載します。


ちょっと前(docker-1.6)時点で検証したときの情報ですが、現時点でもあまり変わってないと思います。


・共有ディスク
→loopデバイス(/dev/loopXX)を共有デバイスとして使用可能


・ネットワーク
netns機能を使用
参考URL
http://enakai00.hatenablog.com/entry/20140424/1398321672


・AUFSは使わない
AUFSを使うとAlertログが上手く出力されないようなので、aufsは使わない


・getty無効化
コンテナを --privileged=true /sbin/init で起動すると getty/agettyがCPU100%で張り付いてしまいます。
今回の手順では、getty/agettyを無効化しています。


・コンテナ内では直接hostsファイルを弄れない
コンテナ内では直接hostsファイルを弄れないようなので、ローカルにdnsmasqを立てて、そこを参照しています

参考URL
https://github.com/yasushiyy/vagrant-docker-oracle12c-rac


・コンテナ内では、/dev/shm が64MBで固定されている
/dev/shmをマウントしなおせば回避できるので、/dev/shmをマウントしなおすinitscriptを書いて対応しています。