Giter Club home page Giter Club logo

docker-db-apex-dev's Introduction

Oracle Database & APEX Developer Docker Image

APEX Community APEX Tool APEX Built with Love

Content

This Docker Image contains the following:

  • Oracle Linux 7.6
  • Oracle Database 12.2.0.1 or 18.3 Enterprise Edition with non-CDB architecture
  • Oracle APEX 18.2
  • Oracle ORDS 18.4
  • Oracle SQLcl 18.4
  • Apache Tomcat 8.5.37
  • Java JDK 8u201
  • OraOpenSource Logger 3.1.1
  • OraOpenSource OOS Utils 1.0.1
  • APEX Office Print 19.x (Cloud Package)
  • Swagger-UI 3.x

Installation

Using Default Settings (recommended)

Complete the following steps to create a new container:

  1. Clone or Download the Github Repository to your local Machine
git clone https://github.com/Dani3lSun/docker-db-apex-dev.git
  1. Download missing Software Components

Thus you have to agree to the License Agreement of Oracle for parts of this Docker Image, you have to download the Install Files by your own. You can take the direct Download Links from download_urls.txt in files directory.

Direct Links:

Place all downloaded files in the files directory!

  1. Customize some settings to reflect your needs (optional)

You can change some Environment Variables directly in the Dockerfile:

INSTALL_APEX=true # Whether install Oracle APEX (Oracle ORDS / Apache Tomcat) or Not
INSTALL_SQLCL=true # Whether install Oracle SQLCL or Not
INSTALL_LOGGER=true # Whether install OraOpenSource Logger or Not
INSTALL_OOSUTILS=true # Whether install OraOpenSource OOS Utils or Not
INSTALL_AOP=true # Whether install APEX Office Print (AOP) or Not (Cloud Package)
INSTALL_SWAGGER=true # Whether install Swagger-UI for REST docs or Not
DBCA_TOTAL_MEMORY=2048 # Memory Size of Database
ORACLE_SID=orcl # SID of Oracle Database
SERVICE_NAME=orcl # SERVICE_NAME of Oracle Database
DB_INSTALL_VERSION=18 # Database version to install, 12 or 18
ORACLE_BASE=/u01/app/oracle # Path to ORACLE_BASE Directory
ORACLE_HOME12=/u01/app/oracle/product/12.2.0.1/dbhome # Path to ORACLE_HOME Directory of 12.2 database
ORACLE_HOME18=/u01/app/oracle/product/18.0.0/dbhome # Path to ORACLE_HOME Directory of 18.3 database
ORACLE_INVENTORY=/u01/app/oraInventory # Path to ORACLE_INVENTORY Directory
PASS=oracle # Password of all Database Users (like SYS, APEX_PUBLIC_USER ...), Tomcat Admin and SSH
ORDS_HOME=/u01/ords # Path to ORDS_HOME Directory
JAVA_HOME=/opt/java # Path to JAVA_HOME Directory
TOMCAT_HOME=/opt/tomcat # Path to TOMCAT_HOME Directory
APEX_PASS=OrclAPEX1999! # Admin Password of Oracle APEX Web Login (Caution: Oracle APEX Password Policy)
APEX_ADDITIONAL_LANG= # Additional Language of APEX, blank to only install English (e.g de, es, fr, it, ja, ko, pt-br, zh-cn, zh-tw)
TIME_ZONE=UTC # Timezone of your favorite Location (Europe/Berlin, UTC, US/Eastern, ...) --> Only Linux zoneinfo supported
  1. Build the Docker Image
cd /path/to/docker-db-apex-dev
docker build -t <your-docker-image-name> .
# e.g
docker build -t db-apex-dev-image .

Note: Please be sure to have enough disk space left. Building this image needs around 40-50GB of free space. The successfully built image has a size of 15-16GB

  1. Run the Docker Container
docker run -d --name <your-docker-container-name> -p <local-ssh-port>:22 -p <local-http-port>:8080 -p <local-db-listener-port>:1521 -v /dev/shm --tmpfs /dev/shm:rw,nosuid,nodev,exec,size=2g <your-docker-image-name>
# e.g
docker run -d --name db-apex-dev-container -p 2222:22 -p 8080:8080 -p 1521:1521 -v /dev/shm --tmpfs /dev/shm:rw,nosuid,nodev,exec,size=2g db-apex-dev-image

Note: /dev/shm should be equal the size of allocated Memory to the Database. /dev/shm must also be mounted as tmpfs.

  1. Start/Stop of Docker Container
docker start <your-docker-container-name>
docker stop <your-docker-container-name>
# e.g
docker start db-apex-dev-container
docker stop db-apex-dev-container

Access To Services

For this Docker Run Example and the Default Environment Variables (Step 3):

docker run -d --name db-apex-dev-container -p 2222:22 -p 8080:8080 -p 1521:1521 -v /dev/shm --tmpfs /dev/shm:rw,nosuid,nodev,exec,size=2g db-apex-dev-image

Oracle APEX

http://localhost:8080/ords/

Property Value
Workspace INTERNAL
User ADMIN
Password OrclAPEX1999!

If APEX Office Print is installed

Property Value
Workspace AOP
User ADMIN
Password OrclAPEX1999!

Database Connections

To access the database e.g. from SQL Developer you configure the following properties:

Property Value
Hostname localhost
Port 1521
SID orcl
Service orcl

The configured user with their credentials are:

User Password
system oracle
sys oracle
apex_listener oracle
apex_rest_public_user oracle
apex_public_user oracle
logger_user oracle
oosutils_user oracle
aop oracle

Use the following connect string to connect as SYSTEM via SQL*Plus or SQLcl: system/oracle@localhost/orcl

SSH

To access the Docker Container via SSH: ssh root@localhost -p 2222

User Password
root oracle
oracle oracle

If you want to use SSH without a Password but rather with PubKey Authentication you have the place a authorized_keys file in the files directory before build.

Credits

This Dockerfile is based on the following work:

License

MIT

See Oracle Database Licensing Information User Manual regarding Oracle Database licenses.

docker-db-apex-dev's People

Contributors

dani3lsun avatar ragfoex avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.