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を書いて対応しています。