■ OracleのDockerイメージでの起動の仕方
- Oracleがオフィシャルにイメージ作成のツールを公開している
- Oracle Databaseの導入バイナリはOTNのアカウントを作成することで、ダウンロードできる
- コンテナをコンパイルするためにはDockerコンテナが必要。かつては無償版のDockerはDocker-CEエディションだったが、現在はDocker-Desktopに統一されている
Docker Desktopは個人ユーザーは無償で利用できる
- OracleDBに接続するためにはOracle Instant Clientが必要となる
- DockerのホストとなるPCにDocker Desktopをインストールして、起動する
- これでdockerコマンドを使ってコンテナをbuild、実行可能になる
- docker-imagesリポジトリをPCにclone
OracleDatabase/SingleInstance/dockerfilesディレクトリのReadMeなどで、作成したいOracleのバージョンを確認
- 作成したいver.のOracleのインストールイメージを(linux版、zipファイル)downloadし、zipファイルのままOracleDatabase/SingleInstance/dockerfiles/(ver.NO)/に入れる
- OracleDatabase/SingleInstance/dockerfilesディレクトリで「./buildContainerImage.sh -v 19.3.0 -e -i」(ver.19.3.0の場合)を実行
- net上から必要なパッケージをダウンロードし、コンテナが生成される
./buildContainerImage.sh -v 19.3.0 -e -i
: (それなりの時間)
--> oracle/database:19.3.0-ee (コンテナ名)
Build completed in 375 seconds.
- データベースはホストのPC上にDBのファイルを作成するため、マウント用のディレクトリを用意。ディレクトリの権限設定を777に
mkdir oradata
chmod 777 oradata
- コンテナの割当portなどの細かい設定をしてコンテナを起動するので、DockerDesktoのUIではなく、コマンドでコンテナを起動する(詳細のオプションはReadmeを見る)
docker run --name oracle19 \
-p 1521:1521 -p 5500:5500 -p 2484:2484 \
-e ORACLE_PWD=<password> \
-e ORACLE_EDITION=enterprise \
-e ENABLE_ARCHIVELOG=true \
-e ENABLE_TCPS=true \
-v /<作成したマウント用のディレクトリ> \
oracle/database:19.3.0-ee
- 起動するまでにかなり時間がかかるので、辛抱強く待つ。。。
- Docker DesktopのUIにはコマンドを打った途端にコンテナが表示される
- 最終的に以下の文面が出たら、DBが起動されたと思われる
#########################
DATABASE IS READY TO USE!
#########################
:
XDB initialized.
oradock =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLCDB)
)
)
sqlplus system/<password>@oradock