Saturday, July 15, 2017

5. docker-compose for WebLogic cluster deployment

In the earlier post you have seen how to use docker-compose for WebLogic image build and run the container with new application deployment.

Prerequisites

Let me keep the list of prerequisite steps which you can follow my previous blog post or youtube video.

  1.  docker pull oraclelinux:7-slim  
  2. git clone https://github.com/oracle/docker-images.git 
  3. download server-jre1.8 latest version copy to OracleJava/dockerfiles build the image and make it as oracle/serverjre:8
  4. download weblogic 12.2.1.2.0 quick installer which is used for development, it is small in size. image name it as oracle/weblogic:12.2.1.2-developer 
  5.  create new docker images where 12212-domain:latest using WLST and shell script which are available in container scripts. 
  6. create new docker images named as 1221-appdeploy:latest where it uses 12212-domain as base images. 
  7. And also docker pull httpd:2.4 6. download the proxy plugin for 12.2.1.2 create the 1221-webtier:latest [apache with proxy plugin configured]

The power of docker-compose script

Now lets pick the following docker-compose.yml file where it will use two images the two images : 1221-appdeploy, 1221-webtier Using last session created admin container for create managedserver with port change
version: '2'

networks:
  &network wlsnet:
    driver: bridge

services:

  # Deploys the wlsServer with default hostname 'wlsadmin' used by scripts in 1221-domain.
  &adm adminserver:
    image: &i 1221-appdeploy
    container_name: wlsadmin
    ports:
    - "8001:7001"
    networks:
      - *network

  # Deploys a container running a Managed Server and a Node Manager to control MS from wlsServer
  managedserver:
    image: *i
    command: createServer.sh
    networks:
      - *network
    depends_on:
      - *adm

  # Deploys a container running only a node manager. to deploy a managed server here later, use wlsServer Web Console
  nodemanager:
    image: *i
    command: createMachine.sh
    networks:
      - *network
    depends_on:
      - *adm

 # WebTier for load balancing requests to cluster
  webtier:
    image: 1221-webtier
    networks:
      - *network
    ports:
    - "8800:80"
    environment:
      - WEBLOGIC_CLUSTER="managedserver:7001"
    links:
      - managedserver

################ END OF compose file ###############################

Next steps:

8. Validate the docker configuration syntaxt docker-compose config
9. If all good then proceed for the run the containers - wlsadmin, managedserver, nodemanager and webtier docker-compose up
10.  Check the containers logs with container names as argument docker-compose ps docker logs wlscluster_managedserver_1 -f
 11. Expansion of docker containers for clustered Weblogic domain. docker-compose scale managedserver=4


References:

Thursday, June 22, 2017

4.Learning docker-compose for WebLogic with examples

Learning docker-compose for WebLogic with examples

The docker-compose is one of the docker integration tool. it works based on yml or yaml file. The yml files are easy to read plain like English text. It is developed alternative to JSON files, both are used to store the key, value pairs and hierarchical structured data. To run docker-compose command in the current directory there should be  docker-compose.yml file must be exist.

Prerequisites for docker-compose

  • well awareness of docker
  • YML syntax
  • docker network

docker-compose build with Example


Dockerfile is used to build the docker image that should be present in the current directory.

Create docker-compose.yml file


Lets create the docker-compose.yml file for WebLogic Domain container which uses 1221-appdeploy image. The AdminServer port exposed as 7001 from the container and on left side host port opened with 7001. The container should run the command/shell script. here we can select startWebLogic.sh as starting shell script to be executed when container launched.

Here the docker Compose syntax is simple human readable. alternative to JSON. meta-data.
wls:
 image: 1221-appdeploy
 ports:
  - "7001:7001"
 command:
  - startWebLogic.sh

Now we are ready for Running the container with docker-compose command which will start the container and keep  it running state.

docker-compose up 

To run the docker container in the background we will use -d option

docker-compose up -d 


docker-compose for WebLogic appdeployment container
We have same number of commands as in docker for docker-compose. And it is more powerful than docker commands. because it can start multiple containers with single command.

How to check the WebLogic log files from docker host?

Docker container logs can be viewed from the docker host machine using the following command
  docker-compose logs --tail="all"

  docker-compose logs -f
   




How to get docker-compose process list?

We can get the list of process that are running on docker deamon.
docker-compose ps
docker-compose ps for WebLogic

How to bring down docker-compose containers?


To stop the container we can use stop option
docker-compose stop

To destroy and dispose you can use down option.
docker-compose down

It will stop and remove the container.

Destroying the container will loss all the changes in the last domain configuration. Better to have host volume shared or have a separate container to have WebLogic domains for backup.

Blurb about this blog

Blurb about this blog

Essential Middleware Administration takes in-depth look at the fundamental relationship between Middleware and Operating Environment such as Solaris or Linux, HP-UX. Scope of this blog is associated with beginner or an experienced Middleware Team members, Middleware developer, Middleware Architects, you will be able to apply any of these automation scripts which are takeaways, because they are generalized it is like ready to use. Most of the experimented scripts are implemented in production environments.
You have any ideas for Contributing to a Middleware Admin? mail to me wlatechtrainer@gmail.com
QK7QN6U9ZST6