背景
とある調査を実施のためにlocalにOracle Databaseを構築してみました、という話です。
今回は、その備忘録です。
開発環境
- Windows10
- Docker Desktop for Windows
- Oracle Database 18c (18.3.0) Express Edition (XE)
手順
- 
oracle databeseの公式repositoryを取得 docker imageをbuildするためのscriptは、Oracleがgithub上で公開をしています。今回は、そのscriptを利用してdocker imageの作成を行います(手順は後述)。 cd ${projecty root}/build/docker/oracle/ git clone https://github.com/oracle/docker-images.git
- 
oracle database本体の取得 oracle database 18c(18.3.0)にて公開されているバイナリを取得します。 
- 
downloadファイルを配置 cd ${projecty root}/build/docker/oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles/18.3.0 cp ~/Download/linu.x64_180000_db_home.zip .
- 
docker imageのbuild git cloneで取得したshell scriptにて、docker imageを作成します。 cd ${projecty root}/build/docker/oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles sh biuldDockerImage.sh -v 18.3.0 -e以下のメッセージが出力されることを確認できれば、docker imageの作成を行います。 Oracle Database Docker Image for 'ee' version 18.4.0 is ready to be extended: --> oracle/database:18.4.0-ee Build completed in 928 seconds.ここで、以下のエラーが発生した場合は、docker imageを作成する際に実行するshell scriptの改行コードが LFからCRLFに変更されている可能性があります。対象のshell scriptの改行コードをLFにします。MD5 for required packages to build this image did not match! Make sure to download missing files in folder 18.3.0.
- 
imageの出力確認 作成されたdocker imageを確認します。 docker images REPOSITORY TAG IMAGE ID CREATED SIZE oracle/database 18 3.0-ee c90d8241c96d 3 hours ago 5.98GB ...省略...
- 
docker-compose.ymlに構成の記述 version: '2' services: db: image: oracle/database:18.3.0-ee environment: ORACLE_SID: ORCL ORACLE_PDB: SAMPLE ORACLE_PWD: password ORACLE_CHARACTERSET: AL32UTF8 ORA_SDTZ: Japan ports: - "1521:1521" - "5500:5500" volumes: - ./build/docker/oracle/oradata:/opt/oracle/oradata
- 
docker containerの起動 docker-composeコマンドでcontainerの起動をします。 
 なお、この処理には時間がかかります。(30分程度)docker-compose up -d起動が確認できれば、構築は完了です。 
 

