Tihiroの頭を休めるIT教室

少しだけ頭使って後は根性

Oracle12cDatabaseのイメージを作成するDockerfileをbuildしたらエラー発生。

概要

Oracle12cが動作するDockerコンテナを作りたくて、githubdocker-images/OracleDatabase at master · oracle/docker-images · GitHub)からDockerfileとその他の環境を取得してbuildしたら下記メッセージのエラーが発生。

/bin/sh: /opt/oracle/oraInventory/orainstRoot.sh: No such file or directory

です。

エラー対応

原因

ディスク領域の不足が原因。

コンテナ構築に15GB程度必要となるけど、Dockerのデフォルトでは10GBぐらいしかディスク領域が確保されないためエラーとなる。

対応

/etc/sysconfig/docker-storage

を修正して、Dockerコンテナのデフォルトのディスク領域を変更する(下記の例では20GB)としている。

DOCKER_STORAGE_OPTIONS= --storage-opt dm.basesize=20G 

その後、設定を反映させるために

rm -rf /var/lib/docker/*

で、dockerディレクトリ以下を削除する必要がある。

つまり、今まで作成していたコンテナなどが全て消去しないと設定を反映させれない。

まとめ

Vagrantいじってても思うのですが、ディルク領域ってホイホイと増やしたり減らしたりできないみたいですね。