docker oracle12c起動(Mac)
dockerでoracle12cを起動するまでのやり方を書いていきます。
環境:Mac
バージョン:Mojave
docker pull quay.io/maksymbilenko/oracle-12c
docker run -d -p 8080:8080 -p 1521:1521 quay.io/maksymbilenko/oracle-12c
docker run -d -p 8080:8080 -p 1521:1521 -v /my/oracle/data:/u01/app/oracle quay.io/maksymbilenko/oracle-12c
初期起動は時間がかかるため、docker logsで100%になることを確認する必要があります。
(「/my/oracle/data」は自分の環境に合わせて作成してください。)
sqlplus system/oracle@//localhost:1521/xe
sqlplusで確認できます。
できない場合
logsを確認して、failになっている場合の対処です。
- oracle/dataフォルダを先に作成し、パーミッションを2777で作成
- NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS を書かない
- docker-composeで「depends_on」を書かない
基本的には初期起動時に全て発生しました。一度起動して初期化が終了したディレクトリが作成された後は起動終了も問題ありませんでした。
docker-compose
作成したdocker-compose.ymlとDockerfileです。データは同じディレクトリに「oradata」というディレクトリを作成しています。
version: '3' services: oracle: build: ./oracle volumes: - ./oradata:/u01/app/oracle ports: - "1521:1521" - "8081:8080" container_name: db_oracle_name networks: app: aliases: - oracle.local networks: app:
FROM quay.io/maksymbilenko/oracle-12c
docker-compose up
初回起動は、100%になることを確認するため、「-d」オプションをつけずに起動して、100%になることを確認します。
100%にならない場合はエラー内容から対処を検討します。
残りで考えられるのは容量不足やポート重複等だと思います。
もうoracleで悩まされるのは辛いだけなので、手順の残しておきます。
dockerのDockerファイルを作っている人には感謝です。本当に開発が楽になりました。