[Oracle Database] 公式Docker Imageを利用してOracle Database 19c環境を構築してみた(解決したエラー編)

本記事の目的

昨日、「公式Docker Imageを利用してOracle Database 19c環境を構築してみた」という記事にて、サクっとOracle 19c環境を構築したのですが、実は構築が成功するまでは色々と問題に遭遇しました。

問題の内容としては、かなーりショボイものやら、原因不明のものまで様々ですが、いつか誰かの役に立つかもなのでまとめてみます。

※個人的には、うまくいった話だけでなく、そこまでの苦労話やら出来なかった話やらを読む(聞く)のも楽しいので、自らそれを実践してみる試みです。が、あまりにもショボイ問題も含むため、(遭遇したエラー編)ではなく(解決したエラー編)と書いて、せめてもの前向き感を出してみました。

なお、対処を反映した詳細な手順については、昨日の記事を参照してください。

 

検証内容(解決したエラー編)

buildDockerImage.sh実行エラー(1)

原因:dockerがインストールされてなかった
対処:dockerをインストールした

 

buildDockerImage.sh実行エラー(2)

原因:実行ユーザにdocker実行権限がなかった
対処:実行ユーザをOSのdockerグループに所属させるか、rootにて実行すればOK

 

buildDockerImage.sh実行エラー(3)

原因:Dockerイメージを展開する先のディスク領域不足
対処:該当ディスク領域の拡張(今回はブートボリュームを100GBまで拡張して対処)

 

docker run実行エラー(1)

原因:(厳密にはエラーではないが)docker runで-dを付けるとバックグラウンド実行されるので、エラー発生した際に気付きにくい。
対処:-dオプションを付けずに実行する

 

docker run実行エラー(2)

原因:既に起動中のコンテナ名を指定してrunしようとしたため ※docker runでエラー発生した場合に再実行する場合に注意
対処:docker rm <コンテナID>で一度削除する

 

原因:該当コンテナの展開先ディレクトリの権限エラー
対処:今回はディレクトリ名変換が不要のため、-vを指定せずで対処

補足:
上記の実行結果に表示されているエラーメッセージの通り、コンテナ展開先のディレクトリ権限の設定に起因した問題と思われるものの、実はまだ根本解決は出来ておらず。。

同様事象がgithub上のissueとしていくつか登録されており、-vで指定するディレクトリ(今回であれば/opt/oracle/oradata)のファイル所有者を適切に設定(id:54321を設定)すれば解決できるとコメントされているが、自分の環境で以下の試しただけではうまく解決せず。
# [root@comp-reiwa01 ~]# chown 54321:54322 /opt/oracle/product/19c
# [root@comp-reiwa01 ~]# ls -ld /opt/oracle/product/19c
# drwxrwxrwx. 2 54321 54322 6 May 4 12:14 /opt/oracle/product/19c

-vオプションなしで成功したというコメントがあったので、試したところ無事成功。

if i delete “-v /home/DATA/oracle_12c/sharedData:/opt/oracle/oradata ” ,it’s successful,but add it that is failed..why..

今回は検証用途のため「/opt/oracle/oradata」に展開したい要件はなかったので、このまま深追いせず。

 

参考情報

oracle/docker-images Issues
⇒公式Docker Imageでエラー出たら、まずはissuesをチェックするのが良さそう。

Permission denied error for oracle/database:12.2.0.1-se2 container #783

Problem with container run #227

 

スポンサードリンク

Be the first to comment

Leave a Reply

Your email address will not be published.


*