#chiroito ’s blog

Java を中心とした趣味の技術について

Docker Compose で Oracle Database を動かす

Docker 上で Oracle Database のイメージが構築されているものとします。まだ、Docker 上で Oracle Database を構築していない場合にはこちらをご参照ください。

公式 Oracle Database の Docker イメージを構築 - @chiroito ’s blog

docker コマンドを使用して Oracle Database を動かすには以下の様に引数を並べて起動します。

> docker run --name orcl -p 1521:1521 -p 5500:5500 -v /mnt/oradata:/opt/oracle/oradata \
> -e ORACLE_SID=orcl -e ORACLE_PDB=pdb1 oracle/database:12.1.0.2-ee

実際に環境を使う場合にはデータベースだけを起動してシステムを構築することは無く、アプリケーションサーバなども同時に起動します。

上の dockerコマンドで起動している内容と同じ内容を docker-compose.ymlファイルに設定し Docker Compose を使用して起動しましょう。

コンテナデータベースの名前に相当する環境変数は ORACLE_SID、プラガブルデータベースの名前に相当する環境変数は ORACLE_PDB です。データベースへ接続するポートは 1521 、管理ツールへアクセスするポートは 5500 です。また、データベースのデータはコンテナの /opt/oracle/oradata に格納されます。

docker-compose.yml

orcl:
  image: oracle/database:12.1.0.2-ee
  volumes:
    - /mnt/oradata:/opt/oracle/oradata
  ports:
    - "1521:1521"
    - "5500:5500"
  environment:
    ORACLE_SID: orcl
    ORACLE_PDB: pdb1

docker-compose.ymlファイルを作成したら、ファイルのあるディレクトリで以下の様に実行すると Oracle Database が起動します。

docker-compose up