|
| 1 | +# APEX Stack with Docker |
| 2 | + |
| 3 | +## Prerequisites |
| 4 | + |
| 5 | +* `sudo` rights. |
| 6 | +* Installed the following: |
| 7 | + * Git |
| 8 | + * Curl |
| 9 | + * Docker (of course) |
| 10 | + |
| 11 | +> IMPORTANT |
| 12 | +> |
| 13 | +> Build and execution has been tested in Linux only. It should work in Mac OS, but likely not with Windows. Sorry. |
| 14 | +
|
| 15 | +## Getting Started |
| 16 | + |
| 17 | +1. Git clone this repository and set it as the working directory. |
| 18 | +2. Download the installer files: |
| 19 | + * [Oracle Database 18c XE](https://oracle.com/xe) |
| 20 | + * [Oracle Application Express](https://apex.oracle.com/download) (the latest version is 18.2 as of February 16, 2019) |
| 21 | + * [Oracle REST Data Services](https://www.oracle.com/technetwork/developer-tools/rest-data-services/downloads/index.html) (the latest version is 18.4 as of February 16, 2019) |
| 22 | +3. Place all three files in the sub-directory `files`. |
| 23 | +4. Run the first script to grab the latest Docker [images](https://github.com/oracle/docker-images) from Oracle: |
| 24 | + ```bash |
| 25 | + $ . 01-stage.sh |
| 26 | + ``` |
| 27 | +5. Create a new file that contains the required variables. The `sample.env` file is provided and can be used, otherwise, modify as desired. The file should contain the following variables: |
| 28 | + ```bash |
| 29 | + ORACLE_SID=XE |
| 30 | + ORACLE_PDB=XEPDB1 |
| 31 | + ORACLE_PWD=Oracle18 |
| 32 | + APEX_ADMIN_EMAIL=myemail@domain.com |
| 33 | + APEX_ADMIN_PWD=Oracle__18 |
| 34 | + INSTALL_FILE_APEX=apex_18.2.zip |
| 35 | + INSTALL_FILE_ORDS=ords-18.4.0.354.1002.zip |
| 36 | + DOCKER_ORDS_PORT=50080 |
| 37 | + DOCKER_EM_PORT=55500 |
| 38 | + DOCKER_DB_PORT=51521 |
| 39 | + DB_VERSION=18.4.0 |
| 40 | + DB_EDITION=XE |
| 41 | + ``` |
| 42 | +6. Run the second script to build the Oracle Database image, where the environment file is called `mysettings.env`: |
| 43 | + ```bash |
| 44 | + $ . 02-build.sh mysettings.env |
| 45 | + ``` |
| 46 | +7. Run the final script to create and run the container, where the container name is `axer` (it is preferred that you execute a command using `sudo` before executing this script): |
| 47 | + ```bash |
| 48 | + $ . 03-run.sh axer mysettings.env |
| 49 | + ``` |
| 50 | + |
| 51 | +Using the sample settings, the following are accessible: |
| 52 | + |
| 53 | +| Port | Application | URL | |
| 54 | +|-|-|-| |
| 55 | +| 50080 | APEX | http://localhost:50080 | |
| 56 | +| 51521 | Database | N/A | |
| 57 | +| 55500 | Enterprise Manager Express | https://localhost:55500/em | |
0 commit comments