-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_OracleDockerCompose
-
気軽にDocker Hubから使えない。
- 自分でdocker buildするか、
- OracleCRから取得する。
- ログインが必要
- ただし、古く、使い勝手も悪いらしい。
-
Windowsの場合、以下を利用して、自分でdocker build可能。
- Git Bash
- Docker for Windows
-
ココまで評価してみたが、
現時点ではWindows環境では使え無さそう。- Vmmemが非常に重くなる。
- ORACLE_PWDなどの環境変数が効かない。
- XEPDB1が作成されていない。
ベースイメージを作成
(*.sh内でDockerfileによるdocker buildを行う)
-
ダウンロード
- https://www.oracle.com/jp/database/technologies/xe-downloads.html
- Oracle Database 18c Express Edition(XE)
- for Linux x64
- Release 18.4.0.0.0(18c)
-
カレント
https://github.com/oracle/docker-images/tree/master/OracleDatabase/SingleInstance/dockerfiles-
準備
DL した 18c XE の *.rpm ファイル を 18.4.0 フォルダに配置 -
Git Bashを起動
-
Git BashでカレントへCDする。
-
以下のコマンドを実行してビルド
(結構時間が掛かるので気長に待つ)$ ./buildDockerImage.sh -v 18.4.0 -x ... Oracle Database Docker Image for 'xe' version 18.4.0 is ready to be extended: --> oracle/database:18.4.0-xe Build completed in 708 seconds.
-
-
CMDを起動
-
docker imagesを実行する。
>docker images REPOSITORY TAG IMAGE ID CREATED SIZE oracle/database 18.4.0-xe b6787bab145e 6 minutes ago 5.89GB -
ベースのイメージが生成されていることを確認する。
-
-
ベースイメージ上でインストールを行う。
(自作Dockerfileをdocker-compose.yml経由でdocker build)
FROM oracle/database:18.4.0-xe
RUN yum -y install vi
RUN echo 'TZ="Asia/Tokyo"' > /etc/sysconfig/clock
RUN cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
RUN echo 'LANG="ja_JP.UTF-8"' > /etc/sysconfig/i18n
RUN echo 'LC_CTYPE="ja_JP.utf8"' >> /etc/sysconfig/i18n
RUN yum reinstall -y glibc-common
RUN yum reinstall -y glibc
RUN localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
EXPOSE 1521※ 「#」のコメントがエラーになったタメ外した。
version: "2.0"
services:
oracle:
build:
context: .
dockerfile: Dockerfile
container_name: oracle_xe_db
shm_size: 1g # 共有メモリを1GB以上にしないとコンテナ起動時にエラーが発生します。
environment:
- TZ=Asia/Tokyo
- LANGUAGE=ja_JP.ja
- LANG=ja_JP.UTF-8
- NLS_LANG=Japanese_Japan.AL32UTF8 # sqlplusの日本語化でこの環境変数が必要になります。
- ORACLE_PWD=system # パスワードは適宜指定します。
ports:
- 1521:1521
volumes:
- ./init:/docker-entrypoint-initdb.d/startupdebug時は「-d」を外す。
>docker-compose up -d
-
環境変数(ORACLE_PWD)の値で認証できないので、
OS認証を使用して、接続まではできた。>docker exec -it oracle_xe_db /bin/bash bash-4.2# bash-4.2# su oracle [oracle@6315f4fefe02 /]$ sqlplus / as sysdba SQL*Plus: Release 18.0.0.0.0 - Production on 水 12月 16 13:32:19 2020 Version 18.4.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production Version 18.4.0.0.0 に接続されました。 SQL> -
XEPDB1も存在しない。
SQL> alter session set container = XEPDB1; ERROR: ORA-65011: プラガブル・データベースXEPDB1が存在しません。 -
Vmmemが非常に重くなり、上手く利用できなかった。
Oracle11gXE + ODP.NET Managed Driverの該当節を参照。
https://github.com/oracle/docker-images/blob/master/OracleDatabase/SingleInstance/README.md
-
Oracle Database Express Edition(XE)のダウンロード | Oracle 日本
https://www.oracle.com/jp/database/technologies/xe-downloads.html -
Oracle Database (CDB) on Docker を動かしてみる
https://www.slideshare.net/oracle4engineer/oracle-database-cdb-on-docker
-
Docker版Oracle Database 12cを使ってみる
https://qiita.com/comefigo/items/d05c0e1977cc25e6b98a -
Oracle Express Editionの環境をDockerで
構築しSQL*Plusで日本語を利用する。
https://qiita.com/wakaken/items/fd870719fda966ab1a79 -
dockerでOracle Database18cの開発環境構築してみた
https://qiita.com/forests-k/items/adc062c415d115b1c73d
移行メモ
- 「Git Bushを起動」→「Git Bashを起動」に修正した (概要では「Git Bash」と表記されている)。
- 元 Wiki では見出しそのものが他ページへのリンクになっていた箇所 (「SQL Developer」「Oracle11gXE + ODP.NET Managed Driver」)は、 GitHub Wiki では見出しからアンカが生成されるため、 見出しをプレーン・テキストとし、リンクは直下の本文に置いた。
- マイクロソフト系技術情報 Wiki(techinfoofmicrosofttech.osscons.jp)への URL リンクは、移行済みの Oracle11gXE + ODP.NET Managed Driver に張り替えた。
- PukiWiki のページ内アンカ(
#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替え、 他ページのアンカを指すリンクは「〜(ページ名の該当節を参照)」の形に置き換えた。
Tags: 移行, Oracle, Oracle XE, Docker, docker-compose, Dockerfile, SQL*Plus, Windows
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。