Oracle 19c Docker Compose Setup Guide
Oracle 19c Docker Compose Setup Guide
Oracle 19c Docker Compose Setup Guide
Prerequisites
- Docker CE (latest)
- Docker Compose plugin
- CentOS 8 / RHEL 8 / Fedora / Ubuntu
- Oracle 19c installer file:
LINUX.X64_193000_db_home.zip
1. Prepare Directory Structure
mkdir -p /home/kcon/oracle-docker-compose
cd /home/kcon/oracle-docker-compose
mkdir -p oradata
2. Fix Permissions for Oracle User (UID 54321)
sudo chown -R 54321:54321 oradata
sudo chmod -R 775 oradata
3. Build the Oracle 19c Docker Image
Place your Oracle ZIP file at:
/home/kcon/oracle19cdocker/docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0/
Run the build:
cd /home/kcon/oracle19cdocker/docker-images/OracleDatabase/SingleInstance/dockerfiles
./buildContainerImage.sh -v 19.3.0 -e
4. Create docker-compose.yaml
version: "3.8"
services:
oracle19c:
image: oracle/database:19.3.0-ee
container_name: oracle19c
environment:
ORACLE_PWD: "StrongPass123"
ORACLE_PDB: "ORCLPDB1"
ports:
- "1521:1521"
- "5500:5500"
volumes:
- ./oradata:/opt/oracle/oradata
restart: unless-stopped
5. Start Oracle Database
docker compose up -d
docker logs -f oracle19c
You should see output:
Database created.
The Oracle base remains unchanged with value /opt/oracle
6. Connect to Oracle
Inside container:
docker exec -it oracle19c bash
sqlplus sys/StrongPass123@ORCLPDB1 as sysdba
From DBeaver / SQL Developer
| Setting | Value |
|---|---|
| Host | localhost |
| Port | 1521 |
| Service Name | ORCLPDB1 |
| User | sys |
| Password | StrongPass123! |
| Role | SYSDBA |
7. Troubleshooting
Permission error:
Cannot create directory "/opt/oracle/oradata/ORCLCDB"
Fix:
sudo chown -R 54321:54321 oradata
sudo chmod -R 775 oradata
sqlplus not found:
Rebuild the image and ensure Oracle ZIP file is correct.
Completed!
You now have a fully working Oracle 19c running via Docker Compose.