DockerでOracleの環境を構築してみる(Windows)

Zennの記事を参考にDocker上にOracle環境を作ってみました。
【Docker】Oracleを無料で簡単にローカルに構築する
当記事はその際のメモおよび手順書になります。

リポジトリのクローン

git clone https://github.com/oracle/docker-images.git

ORACLE EXPRESS EDITIONをダウンロード

ダウンロードしたORACLE EXPRESS EDITIONをリポジトリに配置

ダウンロードしたORACLE EXPRESS EDITIONを下記のディレクトリに配置します。
docker-images\OracleDatabase\SingleInstance\dockerfiles\21.3.0

イメージ作成

まず下記のディレクトリに移動します。

cd docker-images\OracleDatabase\SingleInstance\dockerfiles\

下記のコマンドでイメージを作成します。

.\buildContainerImage.sh -v 21.3.0 -x -i

実行するとコンソールが開き、処理が終わると自動で閉じます。

アプリケーションの定義ファイル(YAML)を作成

まずディレクトリを移動します。

cd ../../../../

下記のコマンドを実行し、YAMLファイルを作成します。

type nul > docker-compose.yml

エラーメッセージが表示されますが、YAMLファイルが作成されていれば問題ありません。
下記の内容でYAMLファイルを編集します。

services:
  db:
    image: oracle/database:21.3.0-xe
    container_name: oracle21c
    ports:
      - 1521:1521
    volumes:
      - db-store:/opt/oracle/oradata
    environment:
      - ORACLE_PWD=odaneko
volumes:
  db-store:

コンテナを起動

docker compose up -d

コンテナの起動にはものすごく時間がかかります。
Docker画面上でログを確認して、DATABASE IS READY TO USE!が表示されるまで待ちます。

コンテナに入る

docker compose exec db bash

コンソールでOracleに接続

odanekoの部分はYAMLで定義したパスワードです。

sqlplus system/odaneko@//localhost:1521/XE

コマンドの先頭がSQL>になっていれば接続完了です。

以上になります。
お読み頂き、ありがとうございました。