In this post, we can use Docker service to pull the prebuilt Oracle Database 18c. Docker must be installed and running for this feature prerequisite.

In your VM or Bare Metal, check the status and version of Docker if it is installed.

[root@docker ~]# docker info
[root@docker ~]# docker version
 Version:           18.06.0-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        0ffa825
 Built:             Wed Jul 18 19:08:18 2018
 OS/Arch:           linux/amd64
 Experimental:      false

  Version:          18.06.0-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       0ffa825
  Built:            Wed Jul 18 19:10:42 2018
  OS/Arch:          linux/amd64
  Experimental:     false
[root@docker ~]#

To Install Docker on your machine, please go to

As Docker is running, now we need to pull the image from Docker Hub which already created by OracleHelp Team.

[root@docker ~]# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE

[root@docker ~]# docker pull dockerhelp/docker-oracle-ee-18c
Using default tag: latest
latest: Pulling from dockerhelp/docker-oracle-ee-18c
cd6653735b10: Pull complete
9ed4a4faa080: Pull complete
809aa6552a32: Pull complete
1469e0c4da9e: Pull complete
0da6621780be: Pull complete
7c463fb30567: Pull complete
c5af9969d03c: Pull complete
3fe5b75f1f5e: Pull complete
b6aaa9fe99cf: Pull complete
d020acd3a5f5: Pull complete
ee54854d3c05: Pull complete
Digest: sha256:915c4b61722ed0af6d94f2b41e1434c281f97fca57e9de209a2c9744181f5191
Status: Downloaded newer image for dockerhelp/docker-oracle-ee-18c:latest

[root@docker ~]#

Note: Make sure, there must be sufficient space in the root file system.

After Image has successfully pulled, now we will connect with Docker Container to log in.

[root@docker ~]# docker images
REPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE
dockerhelp/docker-oracle-ee-18c   latest              e5ded5e048aa        45 hours ago        20.8GB

[root@docker ~]# docker run -it dockerhelp/docker-oracle-ee-18c
[root@c42c43a508fe /]#

At this moment, Oracle 18c Home and Default Database are already configured.

Database Name: ORCL18 with one pluggable database PDB18C has default password Welcome_1.

To start the Database and configure listener & TNS file, run the below script inside the container.

[root@c42c43a508fe /]# sh
Setting ENV
Starting default listener

Parsing command line arguments:
    Parameter "silent" = true
    Parameter "responsefile" = /u01/app/oracle/product/18.0.0/dbhome_1/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Configuring Listener:LISTENER_ORCL18
Listener configuration complete.
Oracle Net Listener Startup:
    Running Listener Control:
      /u01/app/oracle/product/18.0.0/dbhome_1/bin/lsnrctl start LISTENER_ORCL18
    Listener Control complete.
    Listener started successfully.
Profile configuration complete.
Oracle Net Services configuration successful. The exit code is 0
Configuring the TNS
Testing Database

SQL*Plus: Release - Production on Mon Aug 13 20:07:36 2018

Copyright (c) 1982, 2018, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> ORACLE instance started.

Total System Global Area 1610612704 bytes
Fixed Size                  8896480 bytes
Variable Size             520093696 bytes
Database Buffers         1073741824 bytes
Redo Buffers                7880704 bytes
Database mounted.
Database opened.
System altered.

SQL> alter pluggable database PDB18C open
ERROR at line 1:
ORA-65019: pluggable database PDB18C already open

--------- --------------------

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB18C                         READ WRITE NO
SQL> Disconnected from Oracle Database 18c Enterprise Edition Release - Production
Cleaning up
DataBase Installed!!!
[oracle@c42c43a508fe /]$

Script also set the Oracle Environment variables, gives the status of Database and come to Oracle user console.

This concept of Oracle Database with Docker used development, training and learning purpose. We can not recommend using in Production.

Thank you for giving your valuable time to read the above information.

If you want to be updated with all our articles send us the Invitation or Follow us:

Telegram Channel:

Skant Gupta’s LinkedIn:

Joel Perez’s LinkedIn: Joel Perez’s Profile

LinkedIn Group: Oracle Cloud DBAAS

Facebook Page: OracleHelp



  1. fmatz

    The Prebuild DB 18c works for me on Ubuntu 18.04 , many thanks !

    Inside I can connect with:

    [oracle@93fceb281399 /]$ sqlplus system/Welcome_1
    [oracle@93fceb281399 /]$ sql system/Welcome_1@//localhost:1521/ORCL18

    very well.

    Is there a way to connect from outside docker in a new Ubuntu terminal e.g. with sqlcli ?

    I am getting ‘wrong host’ trying: system@//localhost:1521/ORCL18 ..

    Regards, Friedhold

  2. Josué

    is there a way to download this docker image dockerhelp/docker-oracle-ee-18c and install it directly from my box (no internet on my box).
    Thx and regards,

      1. sreenivas manthri

        Great article useful information, i am running on windows installed oracle 18c using docker as per above instruction, now i am not able to access outisde the container using sqldeveloper used same system@//localhost:1521/ORCL18 . Please help how to access the container from outside.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.