Providing this FMW Infrastructure image facilitates the configuration and
environment setup. This project includes the installation and creation of a base
JRF-enabled domain with an Administration Server and a Managed Server. The FMW
Infrastructure 12.2.1.x image is based on Oracle Linux and Oracle JDK 8 (Server
JRE).
## Get Started
### Available Tags
The following tags are available for this image:
* `12.2.1.4` - A FMW image using the Fusion Middleware Infrastructure
installer which includes the Java Required Files (JRF). This tag represents the image with the latest updates and is periodically updated.
* `12.2.1.4-200316` - A FMW image using the Fusion Middleware Infrastructure
installer which includes the Java Required Files (JRF).
* `12.2.1.4-200127` - A FMW image using the Fusion Middleware Infrastructure
installer which includes the Java Required Files (JRF).
* `12.2.1.3` - A FMW image using the Fusion Middleware Infrastructure
installer which includes the Java Required Files (JRF) and patch p29135930. This tag represents the image with the latest updates and is periodically updated.
* `12.2.1.3-200316` - A FMW image using the Fusion Middleware Infrastructure
installer which includes the Java Required Files (JRF) and patch p29135930.
* `12.2.1.3-200127` - A FMW image using the Fusion Middleware Infrastructure
installer which includes the Java Required Files (JRF) and patch p29135930.
**Note** Tags that are republished on a schedule should not be used for development and production because it is difficult to ensure that all compute nodes have the same binaries. Use tags like '12.2.1.3' and '12.2.1.4' for samples, proof-of-concepts, and workshops, but change to using one of the date-stamped tags once you are in development. These date-stamped tags will never be republished.
The documentation below uses `12.2.1.3`, you may chose to modify the commands to use the other
`12.2.1.3` or `12.2.1.4` tags instead. These `12.2.1.3` images have all the necessary patches to run
in Kubernetes with the WebLogic Kubernetes Operator and can be used to deploy ADF applications.
### Providing the Administration Server and database user name and password
The user name and password must be supplied in a
`${scriptDir}/properties/domain_security.properties` file located in a HOST
directory that you will map at Docker runtime with the `-v` option to the image
directory `/u01/oracle/properties`. The properties file enables the scripts to
configure the correct authentication for the WebLogic Administration Server and
database.
The format of the `domain_security.properties` file is `key=value` pair:
username=myusername
password=welcome1
db_user=sys
db_pass=Oradoc_db1
db_schema=Oradoc_db1
**Note**: Oracle recommends that the `domain_security.properties` file be
deleted or secured after the container and WebLogic Server are started so that
the user name and password are not inadvertently exposed.
## Run the database container to host the RCU schemas
To run an FMW Infrastructure domain sample container, you will need the FMW
Infrastructure domain image and an Oracle database to run RCU and create the FMW
domain schemas. The Oracle database could be remote or running in a container.
Follow these steps:
1. Create the Docker network for the infra server to run:
$ docker network create -d bridge InfraNET
2. Run the database container to host the RCU schemas.
The Oracle database server container requires custom configuration
parameters for starting up the container. These custom configuration
parameters correspond to the data source parameters in the FMW
Infrastructure image, to connect to the database running in the container.
Add the following parameters to an `env.txt` file:
DB_SID=InfraDB
DB_PDB=InfraPDB1
DB_DOMAIN=us.oracle.com
DB_BUNDLE=basic
$ docker run -d --name InfraDB --network=InfraNET -p 1521:1521 -p 5500:5500 \
--env-file env.txt -it --shm-size="8g" \
container-registry.oracle.com/database/enterprise:12.2.0.1
Verify that the database is running and healthy. The `STATUS` field shows
`healthy` in the output of `docker ps`.
The database is created with the default password `Oradoc_db1`. To change the
database password, you must use `sqlplus`. To run `sqlplus`, pull the Oracle
Instant Client from the Oracle Container Registry or the Docker Store, and run a
`sqlplus` container with the following command:
$ docker run -ti --network=InfraNET \
-rm store/oracle/database-instantclient:12.2.0.1 \
sqlplus sys/Oradoc_db1@InfraDB:1521/InfraDB.us.oracle.com AS SYSDBA
SQL> alter user sys identified by MYDBPasswd container=all;
## Create a base domain with a running Administration Server and Managed Server
In this image, the domain home will be persisted to a volume in the host. The
`-v` option is used at Docker runtime to map the image directory where the
domain home is persisted, `/u01/oracle/user_projects/domains`, to the host
directory you have defined in `domain.properties` `DOMAIN_HOST_VOLUME`.
You can override the default values of the following parameters during runtime
in the `${scriptDir}/properties/domain.properties` file. The `domain.properties`
file should have the following format:
DOMAIN_NAME=myinfraDomain
ADMIN_LISTEN_PORT=7001
ADMIN_NAME=myadmin
ADMIN_HOST=InfraAdminContainer
ADMINISTRATION_PORT_ENABLED=true
ADMINISTRATION_PORT=9002
MANAGEDSERVER_PORT=8001
MANAGED_NAME=infraServer1
RCUPREFIX=INFRA01
PRODUCTION_MODE=dev
CONNECTION_STRING=InfraDB:1521/InfraPDB1.us.oracle.com
DOMAIN_HOST_VOLUME=/User/host/dir
**NOTE**:
* For security, the Administration port 9002 is enabled by default, before
running the container in FMW Infrastructure 12.2.1.3. An alternative is to
_not_ enable the Administration port when you issue the `docker run` command;
set `ADMINISTRTATION_PORT_ENABLED` to `false`.
* If you intend to run these images in production, then you must change the
Production Mode to `production`.
* After you set the `DOMAIN_NAME`, the domain home will become
`DOMAIN_HOME=/u01/oracle/user_projects/domains/$DOMAIN_NAME`.
To facilitate setting the environment variables (`ENV_ARG`) defined in the
`./properties/domain.properties` file, we provide scripts
`./container-scripts/setEnv.sh`.
To run an Administration Server container, call:
$ docker run -d -p 9001:7001 -p 9002:9002 --name ${adminhost} \
-—network=InfraNET -v ${scriptDir}/properties:/u01/oracle/properties \
-v ${DOMAIN_HOST_VOLUME}:/u01/oracle/user_projects/domains ${ENV_ARG} \
container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.3
To run a Managed Server, call:
$ docker run -d -p 9801:8001 --network=InfraNET \
-v ${scriptDir}/properties:/u01/oracle/properties ${ENV_ARG} \
--volumes-from ${adminhost} --name ${managedname} \
container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.3 \
startManagedServer.sh
To access the Administration Console:
$ docker inspect --format '{{.NetworkSettings.IPAddress}}'
This returns the IP address of the container (for example, `xxx.xx.x.x`). Go to
your browser and enter `http://xxx.xx.x.x:9001/console`
Because the container ports are mapped to the host port, you can access it using
the `hostname` as well.
## Customize your own FMW Infrastructure domain
The best way to create your own domain or extend an existing domain is by using
the [WebLogic Scripting Tool
(WLST)](https://docs.oracle.com/middleware/12213/cross/wlsttasks.htm). You can
find an example of a WLST script to create domains at `createInfraDomain.py`.
You may want to tune this script with your own setup to create data sources and
connection pools, security realms, deploy artifacts, and so on. You can also
extend images and override an existing domain, or create a new one with WLST.
## Customer support
We support FMW Infrastructure in certified Docker containers, please read our
[Support
statement](https://support.oracle.com/CSP/main/article?cmd=show&type=NOT
&id=2017945.1). For additional details on the most current FMW Infrastructure
supported configurations, please refer to the Oracle Fusion Middleware
Certification Pages.
## Copyright
Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.