Changing the admin accounts passwords
On the first startup of the container a random password will be generated for the database. You can find this password in the output line:
ORACLE AUTO GENERATED PASSWORD FOR SYS, SYSTEM AND PDBAMIN:
The password for those accounts can be changed via the docker exec command. Note, the container has to be running:
$ docker exec <container name> ./setPassword.sh <your password>
Running Oracle Database Express Edition in a Docker container
To run your Oracle Database Express Edition Docker image use the docker run command as follows:
$ docker run --name <container name> \ --shm-size=1g \ -p 1521:1521 -p 8080:8080 \ -v [<host mount point>:]/u01/app/oracle/oradata \ icehofman/database:18.104.22.168-xe
Parameters: --name: The name of the container (default: auto generated) --shm-size: Amount of Linux shared memory -p: The port mapping of the host port to the container port. Two ports are exposed: 1521 (Oracle Listener), 8080 (APEX) -v The data volume to use for the database. Has to be owned by the Unix user "oracle" or set appropriately. If omitted the database will not be persisted over container recreation.
There are two ports that are exposed in this image:
- 1521 which is the port to connect to the Oracle Database.
- 8080 which is the port of Oracle Application Express (APEX).
Once the container has been started you can connect to it just like to any other database:
$ sqlplus sys/<your password>@//localhost:1521/XE as sysdba $ sqlplus system/<your password>@//localhost:1521/XE