「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
ベースイメージを作成
(*.sh内でDockerfileによるdocker buildを行う)
$ ./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.
>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/startup
debug時は「-d」を外す。
>docker-compose up -d
>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>
SQL> alter session set container = XEPDB1; ERROR: ORA-65011: プラガブル・データベースXEPDB1が存在しません。
https://github.com/oracle/docker-images/blob/master/OracleDatabase/SingleInstance/README.md