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 images to build and also run the container with new application deployment. In this post you will be able to see the WebLogic managed servers forms cluster and the application will be deployed on top of it.

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 syntax 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


We will be more happy to help you for your dockerization of WebLogic environments.

References:


No comments:

Post a Comment

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