## File: README.md

# Docker Images from Oracle

This repository contains [Dockerfiles](https://docs.docker.com/engine/reference/builder/)
and samples to build [Docker](https://www.docker.com/what-docker) images for
Oracle commercial products and [Oracle sponsored open source projects](https://opensource.oracle.com).

## Container Images on GitHub

These images will require you to download any required Oracle commercial
software before installation. If you want commercial software downloaded for you,
 view [Pre-Built Images with Commercial Software](#pre-built-images-with-commercial-software).

### Oracle Commercial Products

- [Oracle Access Management](/OracleAccessManagement)
- [Oracle BI](/OracleBI)
- [Oracle Cloud Infrastructure Tools](/OracleCloudInfrastructure)
- [Oracle Coherence](/OracleCoherence)
- [Oracle Database](/OracleDatabase)
- [Oracle Essbase](/OracleEssbase)
- [Oracle FMW Infrastructure](/OracleFMWInfrastructure)
- [Oracle GoldenGate](/OracleGoldenGate)
- [Oracle HTTP Server](/OracleHTTPServer)
- [Oracle Identity Governance](/OracleIdentityGovernance)
- [Oracle Instant Client](/OracleInstantClient) (Basic, SDK and SQL*Plus)
- [Oracle Java](/OracleJava)
- [Oracle Rest Data Services](OracleRestDataServices) (ORDS)
- [Oracle SOA Suite](/OracleSOASuite)
- [Oracle Tuxedo](/OracleTuxedo)
- [Oracle Unified Directory](/OracleUnifiedDirectory)
- [Oracle Unified Directory Service Manager](/OracleUnifiedDirectorySM)
- [Oracle WebLogic Server](/OracleWebLogic)
- [Oracle WebCenter Content](/OracleWebCenterContent)
- [Oracle WebCenter Portal](/OracleWebCenterPortal)
- [Oracle WebCenter Sites](/OracleWebCenterSites)

### Oracle Sponsored Open Source Projects

- [GraalVM CE](https://github.com/graalvm/container/tree/master/community)
- [MySQL](https://github.com/mysql/mysql-docker)
- [Oracle OpenJDK](/OracleOpenJDK)
- [Oracle NoSQL Database](/NoSQL)
- [Oracle Linux](https://github.com/oracle/container-images)

### Community Contributions

- [Oracle Forms and Reports](https://github.com/oracle/docker-images/issues/212)
- [Oracle Unified Directory](Contrib/OracleUnifiedDirectory/)

### Archived Projects

- [ContainerCloud](/Archive/ContainerCloud)
- [Oracle Data Integrator](/Archive/OracleDataIntegrator)
- [Oracle Enterprise Data Quality](/Archive/OracleEDQ)
- [Oracle TSAM Plus](/Archive/OracleTuxedo/tsam)

## Pre-Built Images with Commercial Software

These sources already contain Oracle commercial software and require license
acceptance prior to download:

- [Oracle Container Registry](https://container-registry.oracle.com)

## Support

For support and certification information, please consult the documentation
for each product.

For support, bug reporting and feedback about the provided Dockerfiles, please
open an [issue on GitHub](https://github.com/oracle/docker-images/issues).

If you need general support with running containers on Oracle Linux, you can submit
a question under the [Containers and Orchestration](https://community.oracle.com/tech/apps-infra/categories/containers-and-orchestration)
category of the Applications and Infrastructure Community of Oracle Communities.

## Contributing

This project welcomes contributions from the community. Before submitting a pull request, please [review our contribution guide](./CONTRIBUTING.md)

## Security

Please consult the [security guide](./SECURITY.md) for our responsible security vulnerability disclosure process

## License

Copyright (c) 2019, 2023 Oracle and/or its affiliates.

Released under the Universal Permissive License v1.0 as shown at
<https://oss.oracle.com/licenses/upl/>.

---

## File: Archive/OracleTuxedo/art_workbench_tm/README.md

Tuxedo Application Rehosting Workbench and Test manager on Docker
===============
# Introduction
This folder contains the information of how to use [Tuxedo ART Workbench and Test Manager](http://docs.oracle.com/cd/E72452_01/artwb/docs1222/index.html, http://docs.oracle.com/cd/E72452_01/arttm/docs1222/index.html) with [Docker](https://www.docker.com/).

## Contents
This folder contains dockerfile based on the Oracle Tuxedo image, in which it has installation of Eclipse, Tuxedo Application Rehosting Workbench and Test manager.

##Prerequisite
1. Use btrfs with docker:
   With big image size, it is better to use btrfs with docker, please follow the link below to set Docker using btrfs.
   https://docs.docker.com/engine/userguide/storagedriver/btrfs-driver/#configure-btrfs-on-sles


How to build and run
Pre-installation:
1. Download the binaries and copy them to `pwd`/bin
   1. Download all the files from this GitHub repository
   2. Download the binary of ART Workbench and Test Manager
   3. Download Eclipse
   4. Optionally download Tuxedo, Tuxedo ART Workbench and Tuxedo ART Test Manager patches

## To use
Before you run buildDockerImage.sh, if proxy is needed to access network, you need to set environment variables at first: http_proxy, https_proxy, ftp_proxy, no_proxy
     $ ./buildDockerImage.sh -v 12.2.2
Or 
     $ docker build -t oracle/tuxedoartwkbtm:12.2.2 .
Note, before you run buildDockerImage.sh, if your Tuxedo ART was other than 12.2.2, you need change above command according to version.

You should end up with a docker image tagged oracle/tuxedoartwkbtm:<version>, version is Tuxedo ART version number you may modify in buildDockerImage.sh.

## To run
You can then start the image in a new container with: ``docker run -d -v \${LOCAL_DIR}:/u01/oracle/user_projects oracle/tuxedoartwkbtm:12.2.2``.
Note: \${LOCAL_DIR} is a local dir which used in docker image as external storage, it can be any dir in host machine, permission of this dir should be set like this:
    $ docker run -ti --rm --entrypoint="/bin/bash" oracle/tuxedoartwkbtm -c "whoami && id" tuxedoartwkbtm
      oracle
      uid=1000(oracle) gid=1000(oracle) groups=1000(oracle)
    $ sudo chown -R 1000 \${LOCAL_DIR}

---

## File: Archive/OracleTuxedo/art_salt_tma/dockerfiles/12.2.2/README.md

# Introduction
This folder contains the information and examples of how to use [Tuxedo TMA](http://docs.oracle.com/cd/E72452_01/tuxedo/docs1222/interm/mainfrm.html) with [Docker](https://www.docker.com/).

## Contents
It is based on the Oracle Tuxedo ART image.

## To use
Pre-installation
Please refer to the README in the root directory to apply rolling patch for Tuxedo.
Download all installers required from [OTN](http://www.oracle.com/technetwork/middleware/tuxedo/downloads/index.html).
1. Tuxedo TMA SNA 12.2.2 Linux 64 bit installer
     tmasna122200_64_linux_x86_64.zip
2. Tuxedo TMA TCP 12.2.2 Linux 64 bit installer
     tmatcp122200_64_linux_x86_64.zip

Installation:
docker build -t oracle/tuxedoartrttma:12.2.2.1 .

You can then start the image in a new container with: ``docker run -d -v \${LOCAL_DIR}:/u01/oracle/user_projects oracle/tuxedoartrttma:12.2.2.1``.
Note: \${LOCAL_DIR} is a local dir which used in docker image as external storage, it can be any dir.

---

## File: Archive/OracleTuxedo/art_salt_tma/samples/apply-patch/README.md

Applying Rolling Patch to the Base Image

This sample offers Dockerfile for building Docker image with the Oracle Tuxedo 12.2.2 rolling patch applied.

Dependencies

This sample is based on the oracle/tuxedoartrttma:12.2.2 base image. So, before you proceed to build this image, make sure the image oracle/tuxedoartrttma:12.2.2 has been built locally or is accessible in a remote Docker registry.

To build this image, the rolling patch package should be downloaded from My Oracle Support and put into the same directory as the Dockerfile.

The latest rolling patch is always recommended, while you can actually use any patch level. The downloaded file name should be in the format of p*_12220_Linux-x86-64.zip, for example, the Tuxedo 12.2.2 RP003 file is p24444780_122200_Linux-x86-64.zip.

Building the Image

Once you have put the patch package in place, run below command to build:

docker build -t oracle/tuxedoartrttma:12.2.2.1 .

    It is recommended to give read permission to all users on the downloaded binary files before building the image. Otherwise the resulting image will most probably get 50M larger.

Running Oracle Tuxedo in a Docker container

Nothing has changed to use this image from running the base image. Please refer to the README file in the root directory for detail.
Copyright

Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.

---

## File: Archive/OracleTuxedo/art_salt_tma/README.md

TuxedoART + TMA on Docker
===============
Sample Docker build files to facilitate installation, configuration, and environment setup for DevOps users. This project includes Dockerfiles for Tuxedo TMA 12.2.2 based on Oracle Tuxedo ART 12.2.2. For more information about Oracle Tuxedo Mainframe Adapter (TMA) please see the Oracle TMA Online Documentation.

This project offers Dockerfile for building:

    Oracle Tuxedo 12c Release 2 Rolling Patch (RP003)
    Oracle Tuxedo TMA SNA 12c Release 2 (12.2.2)
    Oracle Tuxedo TMA TCP 12c Release 2 (12.2.2)
    Oracle Tuxedo TMA Samples

Dependencies

This project depends on the Tuxedo ART. So, before you proceed to build this image, make sure the image oracle/tuxedoartrt:12.2.2 has been built locally or is accessible in a remote Docker registry.

IMPORTANT: You will have to provide the required installation binaries and put them into the Dockerfile folder.

For this image following installation media / binaries are required:

    Oracle Tuxedo 12c Release 2 Rolling Patch (RP003): p24444780_122200_Linux-x86-64.zip
    Oracle Tuxedo Mainframe Adapter for SNA 12cR2 (12.2.2) GA Installer: tmasna122200_64_linux_x86_64.zip
    Oracle Tuxedo Mainframe Adapter for TCP 12cR2 (12.2.2) GA Installer: tmatcp122200_64_linux_x86_64.zip

The download links and md5sum of downloaded binaries could also be found in the .download files inside the Dockerfile folder. Note that the downloaded file names must NOT be changed, they should remain the same with the file names mentioned in the .download files.

Applying Tuxedo Rolling Patch to the Base Image

Before installing Oracle TMA, you have to apply Tuxedo Rolling Patch at first. Please refer to README under `samples/apply-patch` for more details.

Building Oracle TMA Docker Install Image
## To use
Once you have applied Tuxedo Rolling Patch and provided the installation binaries and put them into the correct folder, go into it and run:

$ docker build -t oracle/tuxedoartrttma:12.2.2.1 .

## How to run
Oracle Tuxedo ART+TMA Image

You can then start the image in a new container with: ``docker run -d -v \${LOCAL_DIR}:/u01/oracle/user_projects oracle/tuxedoartrttma:12.2.2.1``.
Note: \${LOCAL_DIR} is a local dir which used in docker image as external storage, it can be any dir.

 * Tuxedo TMA Distribution and Documentation
   - For more information on the Tuxedo TMA 12cR2 Distribution, visit [Tuxedo TMA 12.2.2 Installer](http://www.oracle.com/technetwork/middleware/tuxedo/downloads/index.html).

   - For more information on the Tuxedo TMA 12cR2 Documentation, visit [Tuxedo TMA 12.2.2](http://docs.oracle.com/cd/E72452_01/tuxedo/docs1222/interm/mainfrm.html).

## License
To download and run Tuxedo TMA 12cR2 regardless of inside or outside a Docker container, you must download the binaries from Oracle website and accept the license indicated at that page.

All scripts and files hosted in this project and GitHub repository required to build the Docker images are, unless otherwise noted, released under [UPL 1.0](https://oss.oracle.com/licenses/upl/) license.

## Copyright
Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.

---

## File: Archive/OracleTuxedo/art_runtime/README.md

Tuxedo Application Runtime on Docker
===============
This folder contains the information of how to use [Tuxedo ART Runtime](http://docs.oracle.com/cd/E72452_01/artrt/docs1222/index.html) with [Docker](https://www.docker.com/). Customers and users are welcome to use them as starters, and customize/tweak, or create from scratch new scripts and Dockerfiles.

## Contents
This folder contains dockerfile based on the Oracle Tuxedo image, in which it has installation of Tuxedo Application Runtime installation, Cobol-IT, and Oracle instance client. 

##Prerequisite
1. Use btrfs with docker:
   With big image size, it is better to use btrfs with docker, please follow the link below to set Docker using btrfs.
   https://docs.docker.com/engine/userguide/storagedriver/btrfs-driver/#configure-btrfs-on-sles

How to build and run
Pre-installation:
1. Download the binaries and copy them to `pwd`/bin
   1. Download all the files from this GitHub repository
   2. Download the binary of ART Runtime
   3. Download Oracle instance client rpm from http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
      oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
      oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm
      oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm
      oracle-instantclient12.2-precomp-12.2.0.1.0-1.x86_64.rpm
   4. Download Cobol-IT installer
      For Cobol-IT license, after container started, copy the licnese file to /opt/cobol-it-64.
   5. Optionally download Tuxedo and Tuxedo ART Runtime patches

## To use
Before you run buildDockerImage.sh, if proxy is needed to access network, you need to set environment variables at first: http_proxy, https_proxy, ftp_proxy, no_proxy
     $ ./buildDockerImage.sh -v 12.2.2
Or 
     $ docker build -t oracle/tuxedoartrt:12.2.2 .
Note, before you run buildDockerImage.sh, if your Tuxedo ART was other than 12.2.2, you need change above command according to version.

You should end up with a docker image tagged oracle/tuxedoartrt:<version>, version is Tuxedo ART version number you may modify in buildDockerImage.sh.

## To run
You can then start the image in a new container with: ``docker run -d -v \${LOCAL_DIR}:/u01/oracle/user_projects oracle/tuxedoartrt:12.2.2``.
Note: \${LOCAL_DIR} is a local dir which used in docker image as external storage, it can be any dir in host machine, permission of this dir should be set like this:
    $ docker run -ti --rm --entrypoint="/bin/bash" oracle/tuxedoartrt -c "whoami && id" tuxedoartrt
      oracle
      uid=1000(oracle) gid=1000(oracle) groups=1000(oracle)
    $ sudo chown -R 1000 \${LOCAL_DIR}

---

## File: Archive/OracleTuxedo/core/dockerfiles/README.md

# Introduction
This folder contains the information on how to create a Tuxedo docker image based and two examples for how to use [Tuxedo](http://oracle.com/tuxedo) with [Docker](https://www.docker.com/).

## To use
1. Into an empty directory:
  1. Download the Tuxedo 12.1.3 or 12.2.2 Linux 64 bit installer from [OTN](http://www.oracle.com/technetwork/middleware/tuxedo/downloads/index.html)
  2. Download all the files from this GitHub repository to a local directory
  3. Drop the downloaded Tuxedo installer to the corresponding version directory
  4. Optionally download the latest Tuxedo rolling patch from My Oracle Support
2. Into the local directory
3. Execute ``./buildDockerImage.sh -v 12.1.3 -i tuxedo121300_64_Linux_01_x86.zip -s`` to create an image for Tuxedo 12.1.3.

Notes:
   1. Before you run buildDockerImage.sh, if your Tuxedo was other than 12.1.3, you need change above command according to version, and installer name. For instance, 12.2.2 for version and tuxedo122200_64_Linux_01_x86.zip for the installer name.
   2. Before you run buildDockerImage.sh, if proxy is needed to access network, you need to set environment variables at first: http_proxy, https_proxy, ftp_proxy, no_proxy
   3. The base image oracle/serverjre:8 should be built before you run buildDockerImage.sh. To build the base image, you must first download the Oracle Server JRE binary and drop in folder ../OracleJava/java-8 and build that image. For more information, visit the [OracleJava](https://github.com/oracle/docker-images/blob/master/OracleJava) folder's [README](https://github.com/oracle/docker-images/blob/master/OracleJava/README.md) file.

    $ cd ../OracleJava/java-8
    $ sh build.sh


You should end up with a docker image tagged oracle/tuxedo:<version>, version is Tuxedo version number you may modify in buildDockerImage.sh.
Have fun!

---

## File: Archive/OracleTuxedo/core/README.md

Tuxedo on Docker
===============
Sample Docker configurations to facilitate installation, configuration, and environment setup for DevOps users. This project includes Dockerfiles for Tuxedo 12.1.3, and 12.2.2 based on Oracle Linux and Oracle JDK 8 (Server).

The certification of Tuxedo on Docker does not require the use of any file presented in this repository. Customers and users are welcome to use them as starters, and customize/tweak, or create from scratch new scripts and Dockerfiles.

For pre-built images containing Oracle software, please check the [Oracle Container Registry](https://container-registry.oracle.com/).

## Contents
This folder contains the information and examples of how to use [Tuxedo](http://oracle.com/tuxedo) with [Docker](https://www.docker.com/).

How to build and run

This project offers Dockerfiles for Tuxedo 12cR2 (12.1.3.0) and Tuxedo 12cR2 (12.2.2.0). To assist in building the images, you can use the buildDockerImage.sh script. See below for instructions and usage.

The buildDockerImage.sh script is just a utility shell script that performs MD5 checks and is an easy way for beginners to get started. Expert users are welcome to directly call docker build with their prefered set of parameters.
Building Oracle JDK (Server JRE) base image

You must first download the Oracle Server JRE binary and drop in folder ../OracleJava/java-8 and build that image. For more information, visit the [OracleJava](https://github.com/oracle/docker-images/blob/master/OracleJava) folder's [README](https://github.com/oracle/docker-images/blob/master/OracleJava/README.md) file.

    $ cd ../OracleJava/java-8
    $ sh build.sh

Building Tuxedo Docker Install Images
## To use
1. Into an empty directory:
  1. Download the Tuxedo 12.1.3 or 12.2.2 Linux 64bit installer from [OTN](http://www.oracle.com/technetwork/middleware/tuxedo/downloads/index.html)
  2. Download all the files from this GitHub repository
  3. Drop the downloaded Tuxedo installer to the corresponding version directory
  4. Optionally download the latest Tuxedo rolling patch from My Oracle Support
2. cd dockerfiles
3. Execute './buildDockerImage.sh' to show the usage of the command. Follow [the guide](./dockerfiles/README.md) to create a docker image.

You should end up with a docker image tagged oracle/tuxedo:version, for instance, oracle/tuxedo:12.2.2.

You can then start the image in a new container with: ``docker run -d -v \${LOCAL_DIR}:/u01/oracle/user_projects oracle/tuxedo:<VERSION>``.
Note: \${LOCAL_DIR} is a local dir which used in docker image as external storage, it can be any dir.


 * Tuxedo Distribution and Documentation
   - For more information on the Tuxedo 12cR2 Distribution, visit [Tuxedo 12.1.3/12.2.2 Installer](http://www.oracle.com/technetwork/middleware/tuxedo/downloads/index.html).

   - For more information on the Tuxedo 12cR2 Documentation, visit [Tuxedo 12.1.3](http://docs.oracle.com/cd/E53645_01/tuxedo/index.html), [Tuxedo 12.2.2](http://docs.oracle.com/cd/E72452_01/tuxedo/index.html).


## License
To download and run Tuxedo 12cR2 regardless of inside or outside a Docker container, you must download the binaries from Oracle website and accept the license indicated at that page.

All scripts and files hosted in this project and GitHub [docker/OracleTuxedo](./) repository required to build the Docker images are, unless otherwise noted, released under [UPL 1.0](https://oss.oracle.com/licenses/upl/) license.

## Copyright
Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.

---

## File: Archive/OracleTuxedo/jolt/README.md

Tuxedo Jolt sample on Docker
===============

## How to run
1. Build Tuxedo 12.2.2 Docker image by following the [TuxedoCore 12.2.2](../core/dockerfiles) for 12.2.2.
2. Execute: `buildDockerImage.sh` 
   Or: `docker build -t oracle/tuxedojolt .`

You can then start the image in a new container with:  
docker run -d -h jolthost -p 11304:1304 -v \${LOCAL_DIR}:/u01/oracle/user_projects --name tuxedojolt oracle/tuxedojolt

Note: \${LOCAL_DIR} is a local dir which used in docker image as external storage, it can be any dir in host machine, permission of this dir should be set like this:
    $ docker run -ti --rm --entrypoint="/bin/bash" oracle/tuxedojolt -c "whoami && id" tuxedojolt
      oracle
      uid=1000(oracle) gid=1000(oracle) groups=1000(oracle)
    $ sudo chown -R 1000 \${LOCAL_DIR}

In the container, it starts the tuxedo jolt domain. To run a jolt client outside the container, you can:
1. Into a empty dir, compose your own joltclient 'joltclient.java' to call service 'TOUPPER', and update the APPADDRESS to:
          sattr.setString(sattr.APPADDRESS, "//$host_machine:11304");  //$host_machine is the machine name of the docker host machine
2. Set environment variable, 
   $ source $TUXDIR/tux.env
3. Set CLASSPATH
   $ export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$TUXDIR/udataobj/jolt/jolt.jar:$TUXDIR/udataobj/jolt/joltadmin.jar
4. Build the client
   $ javac joltclient.java
5. Run the client
   $ java joltclient

---

## File: Archive/OracleTuxedo/performance_pack/README.md

Tuxedo Advanced Performance Pack on Docker
===============
The Docker image contains the necessary Tuxedo binares required by the performance pack and provides a sample for how to configure the feature in Tuxedo configuration file. It is an image for the pack and show you how to configure the OPTIONS option to enable or disable the features in Tuxedo configuration file. Please go through [OTN doc](http://docs.oracle.com/cd/E72452_01/tuxedo/docs1222/xpp/index.html) for more details.

To extend your image based on this image, you need to write your own perfpack_runme.sh and update Tuxedo Configuration file to enable the feature of the pack you want to employ. The Tuxedo application binaries should be installed in the docker or oracle/tuxedoperfpack. It depdents on how you will implement the shell script, perfpack_runme.sh.

##How to run
Before running buildDockerImage.sh, you need to set the environment variables, http_proxy, https_proxy, ftp_proxy, and no_proxy, to access internet if the docker environment is behind a corporate proxy.

Please note that the docker image is dependent on the image oracle/tuxedo:12.1.3 or oracle/tuxedo:12.2.2. Please create the [Tuxedo docker image](../core) first.

Once the message "If you see this message, perfpack ran OK" is printed out in docker logs, that means the sample works well and the configuration of the pack is correct. The log produced in runtime could be found in the folder perfpack.

Execute:
./buildDockerImage.sh

You can then start the image in a new container with:
docker run -d -v \${LOCAL_DIR}:/u01/oracle/user_projects oracle/tuxedoperfpack
Note: \${LOCAL_DIR} is a local dir which used in docker image as external storage, it can be any dir.

which will run the sample. You can check the logs from `docker logs <container_id>`, container_id can be checked by `docker ps -a`, the ULOG files can be check at \${LOCAL_DIR}/perfpack.