Public | Automated Build

Last pushed: 18 days ago
Short Description
Oracle xe 11g with database files mount support and graceful shutdown database files mount support
Full Description

docker-oracle-xe-11g

Oracle Express Edition 11g Release 2 on Ubuntu 14.04.1 LTS

This Dockerfile is a trusted build of Docker Registry.

Installation

docker pull sath89/oracle-xe-11g

Run with 8080 and 1521 ports opened:

docker run -d -p 8080:8080 -p 1521:1521 sath89/oracle-xe-11g

Run with data on host and reuse it:

docker run -d -p 8080:8080 -p 1521:1521 -v /my/oracle/data:/u01/app/oracle sath89/oracle-xe-11g

Run with customization of processes, sessions, transactions
This customization is needed on the database initialization stage. If you are using mounted folder with DB files this is not used:

##Consider this formula before customizing:
#processes=x
#sessions=x*1.1+5
#transactions=sessions*1.1
docker run -d -p 8080:8080 -p 1521:1521 -v /my/oracle/data:/u01/app/oracle\
-e processes=1000 \
-e sessions=1105 \
-e transactions=1215 \
sath89/oracle-xe-11g

Run with custom sys password:

docker run -d -p 8080:8080 -p 1521:1521 -e DEFAULT_SYS_PASS=sYs-p@ssw0rd sath89/oracle-xe-11g

Connect database with following setting:

hostname: localhost
port: 1521
sid: xe
username: system
password: oracle

Password for SYS & SYSTEM:

oracle

Connect to Oracle Application Express web management console with following settings:

http://localhost:8080/apex
workspace: INTERNAL
user: ADMIN
password: oracle

Apex upgrade up to v 5.*

docker run -it --rm --volumes-from ${DB_CONTAINER_NAME} --link ${DB_CONTAINER_NAME}:oracle-database -e PASS=YourSYSPASS sath89/apex install

Details could be found here: https://github.com/MaksymBilenko/docker-oracle-apex

Auto import of sh sql and dmp files

docker run -d -p 8080:8080 -p 1521:1521 -v /my/oracle/data:/u01/app/oracle -v /my/oracle/init/sh_sql_dmp_files:/docker-entrypoint-initdb.d sath89/oracle-xe-11g

In case of using DMP imports dump file should be named like ${IMPORT_SCHEME_NAME}.dmp
User credentials for imports are ${IMPORT_SCHEME_NAME}/${IMPORT_SCHEME_NAME}

In case of any issues please post it here.

CHANGELOG

  • Added auto-import using volume /docker-entrypoint-initdb.d for .sh .sql *.dmp
  • Fixed issue with reusable mounted data
  • Fixed issue with ownership of mounted data folders
  • Fixed issue with Gracefull shutdown of service
  • Reduse size of image from 3.8G to 825Mb
  • Database initialization moved out of the image build phase. Now database initializes at the containeer startup with no database files mounted
  • Added database media reuse support outside of container
  • Added graceful shutdown on containeer stop
  • Removed sshd
Docker Pull Command
Owner
sath89

Comments (36)
atecey
5 months ago

Is there any way to modify the sys/system password. This is ideal I just need to set the password to admin but cant see where I need to change it.

wieta
8 months ago

I don't bind directory from windows. Always run docker at linux os(boot2docker, ubuntu, debian) and I recommend boot2docker lightweight linux dedicated for docker :)

crwagner
8 months ago

ok...
if I understand, I can't bind a windows directory to be a data volume on the container, right? due to filesystem permissions and behavior, etc...

wieta
8 months ago

Hi, uilian
This yaml works for me with docker-compose(boot2docker):

version: '2'
services:
db:
image: sath89/oracle-xe-11g
ports:

  • "1521:1521"
    volumes:
  • /home/docker/oracle:/u01/app/oracle
uilian
8 months ago

Hi, noob question: anyone here tried to run this image using docker-compose V2?

When I start it using the "docker run" command works fine, but the database doesn't start when I try to run with "docker-compose up".

I have the following YAML:

version: '2'
services:
db:
image: sath89/oracle-xe-11g
expose:
    - "1521"
    - "8080"
  volumes:
    - ./data:/u01/app/oracle

Any help will be welcome, thanks ;)

sath89
a year ago

For any issues, Please post it at GitHub Cheers

pcouas
a year ago

Hi,
Could i lauch your docker file from windows7 host ?
Regards

mcarltzu
a year ago

Hi Sath, does this support sqlplus?

balita
a year ago

You saved my life. It worked fine for me.

heron182
a year ago

The problem is with the dockerfile mounting the oracle data folder
VOLUME "/u01/app/oracle"

When i commit my container, this folder is not saved into my new image, generating the errors to start the db.