Oracle EBS Vision Instance on docker
[root@docker EBS1227]# tar -xvf 1227.ova -rw------- someone/someone 11601 2018-01-31 09:59 Oracle-E-Business-Suite-12.2.7_VISION_INSTALL.ovf -rw------- someone/someone 73656125952 2018-01-31 12:59 Oracle-E-Business-Suite-12.2.7_VISION_INSTALL-disk001.vmdk [root@docker EBS1227]# We need to first install guestfs tool pkg which helps in extracting the required files from this VMDK disk image. Please note this is a disk-intensive operation and it is time-consuming. We are basically extracting u01 directory from the vmdk disk image of EBS Vision Virtual Machine.
# yum install libguestfs-tools.noarch
# export LIBGUESTFS_BACKEND=direct
# guestfish --ro -a Oracle-E-Business-Suite-12.2.7_VISION_INSTALL-disk001.vmdk
><fs> run
><fs> list-filesystems
/dev/sda1: ext4
/dev/vg_ebs/lv_home: ext4
/dev/vg_ebs/lv_root: ext4
/dev/vg_ebs/lv_swap: swap
><fs> mount /dev/vg_ebs/lv_root /
><fs> mount /dev/vg_ebs/lv_home /u01
><fs> df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 97440 212 97228 1% /run
/dev 240276 0 240276 0% /dev
shmfs 243596 0 243596 0% /dev/shm
/dev/mapper/vg_ebs-lv_root 20531068 2583276 16881808 14% /sysroot
/dev/mapper/vg_ebs-lv_home 484438504 277620368 182187048 61% /sysroot/u01
><fs> tar-out /u01 - | gzip -1 >> EBS1227-U01.gz
><fs> quit This EBS1227-U01.gz file now has all the Apps code and database files related to EBS Vision Instance. We now need to import this to a docker image. For this, we are going to use oraclelinux docker image provided by Oracle as base and add the EBS files on top of that. I wrote a couple of scripts that will help in speeding up this process and Iput them on GitHub. Now proceed to this
URL and download the files to your docker server. Copy the EBS1227-U01.gz you extracted from vmdk file to the directory where you extracted master.zip from github and run build.sh script.
[docker@docker git]$ sh -x build.sh Verify that image stored in the docker repo using the command below.
[docker@docker git]$ docker images |grep 1227
r12dba/ebs 1227 4bd2ca6f64f0 2 hours ago 283GB You can launch the image using the command below. It starts a docker container with hostname apps.example.com and also exposes web port and db port to outside users
[docker@docker git]$ docker run -it -d -p 8000:8000 -p 1521:1521 --name ebsvis01 -h apps.example.com r12dba/ebs:1227 You can now access EBS url using https://apps.example.com:8000 . But note to add host file entry in your laptop and access. Here are some commands to verify the docker container:
# check the running containers
[docker@docker git]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7f5e42199455 r12dba/ebs:1227 "/bin/bash" 4 minutes ago Up 13 seconds 0.0.0.0:1521->1521/tcp, 0.0.0.0:8000->8000/tcp, 7001-7002/tcp ebsvis01
[docker@docker git]$
# shell access to container
[root@docker ~]# docker exec -it ebsvis01 bash
# restart a container
[root@docker ~]# docker restart ebsvis01 The next step for me would be to deploy this on Kubernetes and see how we can scale this ...
On this page
Share this
Share this
More resources
Learn more about Pythian by reading the following blogs and articles.
How to create an Oracle 18c client image in Docker
How to create an Oracle 18c client image in Docker
Jan 14, 2019 12:00:00 AM
5
min read
How to use Oracle Instant Client Docker images
How to use Oracle Instant Client Docker images
Jan 10, 2019 12:00:00 AM
12
min read
What you should know about Docker Containers for Oracle Data Integrator
What you should know about Docker Containers for Oracle Data Integrator
Aug 1, 2017 12:00:00 AM
12
min read
Ready to unlock value from your data?
With Pythian, you can accomplish your data transformation goals and more.