Git Product home page Git Product logo

maximo-docker's Introduction

Building and deploying an IBM Maximo Asset Management V7.6 with Feature Pack image to Docker

Maximo on Docker enables to run Maximo Asset Management on Docker. The images are deployed fine-grained services instead of single instance. The following instructions describe how to set up IBM Maximo Asset Management V7.6 Docker images. This images consist of several components e.g. WebSphere, Db2, and Maximo installation program.

Componets of Docker Images

Required packages

  • IBM Maximo Asset Management V7.6.1 binaries from Passport Advantage

    IBM Enterprise Deployment (formerly known as IBM Installation Manager) binaries:

    • IED_V1.8.8_Wins_Linux_86.zip

    IBM Maximo Asset Management V7.6.1 binaries:

    • MAM_7.6.1_LINUX64.tar.gz

    IBM WebSphere Application Server traditional V9 binaries:

    • WAS_ND_V9.0_MP_ML.zip

    IBM HTTP Server and WebSphere Plugin V9 binaries:

    • was.repo.9000.ihs.zip
    • was.repo.9000.plugins.zip

    IBM Java SDK V8 binaries:

    • sdk.repo.8030.java8.linux.zip

    IBM Db2 Advanced Workgroup Edition V11.1 binaries:

    • DB2_AWSE_REST_Svr_11.1_Lnx_86-64.tar.gz
  • Feature Pack/Fix Pack binaries from Fix Central

    IBM Maximo Asset Management V7.6.1 Feature pack 2 binaries:

    • MAMMTFP7612IMRepo.zip

    IBM WebSphere Application Server traditional Fixpack V9.0.0.10 binaries:

    • 9.0.0-WS-WAS-FP010.zip

    IBM HTTP Server Fixpack V9.0.0.10 binaries:

    • 9.0.0-WS-IHSPLG-FP010.zip

    IBM Java SDK Fixpack V8.0.5.25 Installation Manager Repository binaries:

    • ibm-java-sdk-8.0-5.25-linux-x64-installmgr.zip

    IBM Db2 Server V11.1 Fix Pack 4 Mod 1

    • v11.1.4fp4a_linuxx64_server_t.tar.gz

Building IBM Maximo Asset Management V7.6 images by using build tool

Prerequisites: all binaries must be accessible via a web server during building phase.

You can use a tool for building docker images by using the build tool.

Usage:

Usage: build.sh [DIR] [OPTION]...

-c | --check            Check required packages
-C | --deepcheck        Check and compare checksum of required packages
-r | --remove           Remove images when an image exists in repository
-d | --check-dir [DIR]  The directory for validating packages (Docker for Windows only)
-h | --help             Show this help text

Procedures:

  1. Place the downloaded Maximo, IBM Db2, IBM Installation Manager and IBM WebSphere Application Server traditional binaries on a directory.

  2. Clone this repository.

    git clone https://github.com/nishi2go/maximo-docker.git
  3. Move to the directory.

    cd maximo-docker
  4. Run build tool.

    bash build.sh [Image directory] [-c] [-C] [-r]

    Example:

    bash build.sh /images -c -r

    Example for Docker for Windows:

    bash build.sh "C:/images" -c -r -d /images

    Note 1: This script works on Windows Subsystem on Linux.
    Note 2: md5sum is required. For Mac, install it manually - https://raamdev.com/2008/howto-install-md5sum-sha1sum-on-mac-os-x/

  5. Run containers by using the Docker Compose file to create and deploy new instances.

    docker-compose up -d

    Note: It will take 3-4 hours (depend on your machine spec) to complete the installation. Note: To change the default passwords, edit [COMPONENT]_PASSWORD environment variables in docker-compose.yml file. Do not use a different value to the same environment variable across services.

  6. Make sure to be accessible to Maximo login page: http://hostname/maximo

Building IBM Maximo Asset Management V7.6 images by manually

Prerequisites: all binaries must be accessible via a web server during building phase.

Procedures:

  1. Place the downloaded Maximo, IBM Db2, IBM Installation Manager and IBM WebSphere Application Server traditional binaries on a directory
  2. Create docker network for build with:
    docker network create build
  3. Run nginx docker image to be able to download binaries from HTTP.
    docker run --name images -h images --network build \
    -v [Image directory]:/usr/share/nginx/html:ro -d nginx
  4. Clone this repository.
    git clone https://github.com/nishi2go/maximo-docker.git
  5. Move to the directory.
    cd maximo-docker
  6. Build Docker images: Build Db2 image:
    docker build -t maximo/db2:11.1.4a -t maximo/db2:latest --network build maxdb
    Build IBM Enterprise Deployment (IBM Installation Manager) image:
    docker build -t maximo/ibmim:1.8.8 -t maximo/ibmim:latest --network build ibmim
    Build WebSphere Application Server base image:
    docker build -t maximo/maxwas:9.0.0.10 -t maximo/maxwas:latest --network build maxwas
    Build WebSphere Application Server Deployment Manager image:
    docker build -t maximo/maxdmgr:9.0.0.10 -t maximo/maxdmgr:latest maxdmgr
    Build WebSphere Application Server AppServer image:
    docker build -t maximo/maxapps:9.0.0.10 -t maximo/maxapps:latest maxapps
    Build IBM HTTP Server image:
    docker build -t maximo/maxweb:9.0.0.10 -t maximo/maxweb:latest --network build maxweb
    Build Maximo Asset Management Installation image:
    docker build -t maximo/maximo:7.6.1.2 -t maximo/maximo:latest --network build maximo
    Note: If the build has failed during Maximo Feature Pack installation, run the docker build again.
  7. Run containers by using the Docker Compose file to create and deploy new instances.
    docker-compose up -d
    Note: It will take 3-4 hours (depend on your machine spec) to complete the installation. Note: To change the default passwords, edit [COMPONENT]_PASSWORD environment variables in docker-compose.yml file. Do not use a different value to the same environment variable across services.
  8. Make sure to be accessible to Maximo login page: http://hostname/maximo

Building IBM Maximo Asset Management V7.6 images with an Oracle Database Container by using build tool

Prerequisites:

  • All binaries must be accessible via a web server during building phase.
  • An Oracle Database containar or any on-premise instance must be prepared before running docker-compose command.
    • Follow the guide from the repo to create an Oracle Database container.

Procedures:

  1. Place the downloaded Maximo, IBM Db2, IBM Installation Manager and IBM WebSphere Application Server traditional binaries on a directory.

  2. Clone this repository.

    git clone https://github.com/nishi2go/maximo-docker.git
  3. Move to the directory.

    cd maximo-docker
  4. Run build tool.

    bash build.sh [Image directory] [-c] [-C] [-r]

    Example:

    bash build.sh /images -c -r

    Example for Docker for Windows:

    bash build.sh "C:/images" -c -r -d /images

    Note 1: This script works on Windows Subsystem on Linux.
    Note 2: md5sum is required. For Mac, install it manually - https://raamdev.com/2008/howto-install-md5sum-sha1sum-on-mac-os-x/

  5. Run containers by using the Docker Compose file to create and deploy new instances.

    docker-compose -f docker-compose.ora.yml up -d

    Note: It will take 3-4 hours (depend on your machine spec) to complete the installation. Note: To change the default passwords, edit [COMPONENT]_PASSWORD environment variables in docker-compose.yml file. Do not use a different value to the same environment variable across services.

  6. Make sure to be accessible to Maximo login page: http://hostname/maximo

Skip the maxinst process in starting up the maxdb container by using Db2 restore command

Maxinst program supports to initialize and create a Maximo database that called during the "deployConfiguration" process in the Maximo installer. This process is painfully slow because it creates more than thousand tables from scratch. To skip the process, you can use a backup database to restore during first boot time in a maxdb service. So then, it can reduce the creation time for containers from second time.

Procedures:

  1. Build container images first (follow above instructions)
  2. Move to the cloned directory.
    cd maximo-docker
  3. Make a backup directory.
    mkdir ./backup
  4. Uncomment the following volume configuration in docker-compose.yml.
      maxdb:
        volumes:
          - type: bind
            source: ./backup
            target: /backup
  5. Run containers by using the Docker Compose file. (follow above instructions)
  6. Take a backup from the maxdb service by using a backup tool.
    docker-compose exec maxdb /work/backup.sh maxdb76 /backup
    Note: Backup image must be only one in the directory. Backup task must fail when more than two images in it.

So that, now you can create the containers from the backup image that is stored in the directory.

maximo-docker's People

Contributors

johnposten avatar nishi2go avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

maximo-docker's Issues

Linux distros that work best for maximo-docker?

Hello, can you explain which Linux distro you tested docker with? Would Red Hat 7 work? I apologize if this is a silly question because docker should really abstract the OS level right?

Guidance for using oracle DB outside of container?

Hello,

Thank you for your wonderful project!
I currently have maximo working with an oracle Db using vm's (maximo and oracle on 2 seperare vm's). We want to migrate the maximo app server to docker whereby the maximo web app runs in the container, but references the existing DB running outside of docker on our current VM.

Can you provide guidance as far as what to modify in your code to build maximo in the container to use the oracle DB on our existing vm? I am thinking we might just update the maximo/startInstall.sh to contain the connection info for the Db, and then update the build.sh to comment out the DB2 references. Anything else we should look at?

Thank you for any and all help!
Keith

IBM Maximo

Could you provide part numbers of Maximo which are required by this project

How to enable RMI

What is the best way to go about enabling the RMI interface on the deployed application? I have tried adding mxe.rmi.host and mxe.rmi.registry to the 'Maximo Configuration Parameters' section of maximo/startinstall.sh, but that doesn't seem to work.

Also, which dockerfile would I EXPOSE these ports in?

Maximo Sample Data

Hi,

How do I enable sample data to be included in the application during the installation?

Thanks in advance

Maximo failing to connect to database after docker-compose stop and docker-compose start

Hello,
I'm running into an interesting issue where after building the containers and verifying everything is working correctly, after running docker-compost stop then docker-compose start again, I can no longer access localhost/maximo due to a 500 error. Looking in the /opt/IBM/WebSphere/AppServer/profiles/ctgAppSrv01/logs/MXServer/SystemOut.log logs, i notice the following failing:

BMXAA6421E - The system could not connect to the JDBC source: jdbc:sqlserver://;

Despite this message, netstat shows that 1433 is open on 0.0.0.0 on the db container and I can even access it using dbeaver on my host. Is there any guidance on how to solve this issue or ideas on why this issue might be occurring?

Thank you

Maximo Add-ons

Hi,

Is it possible to install add-on on the existing container. Or need to modify the dockerfile to achieve the result?

For example if I want to include add-ons such as Maximo APM Asset Health Insights, Scheduler, Scheduler Plus, HSE, Anywhere, Linear Asset Manager and etc. Is that possible

Please advice.

Thanks in advance

Guidance on using repo but replacing DB2 with SQL Server

Hello,
I am interested in using this Docker setup that you have constructed, but instead of using DB2 we wanted to replace it with SQL Server. We have made a SQL Server image that as far as I can tell is configured according to the Maximo Database Manual Configuration document for SQL Server. Furthermore, we have modified the existing scripts provided and Dockerfiles to match our SQL Server Dockerfile and configs. As far as the install, things seem to be going well according to the Docker logs until maximo_1 does the updateApplication action. Do you have any guidance or suggestions on where we may look to overcome this error?

maximo_1   | CTGIN5386I: Updating the database to the latest level.
maximo_1   | CTGIN5368E: An unexpected error occurred while obtaining the status of the application.
maximo_1   | CTGIN5387I: The database update is complete.
maximo_1   | CTGIN5013E: The reconfiguration action UpdateApplication failed. Refer to messages in the console for more information.
maximo_1   | WASX7209I: Connected to process "dmgr" on node ctgCellManager01 using SOAP connector;  The type of process is: DeploymentManager
maximo_1   | Error importing re.
maximo_1   | Error importing glob.
maximo_1   | Error importing os.path.
maximo_1   | Error importing getopt.
maximo_1   | Error importing traceback.
maximo_1   | [2019-1218-2241-4100] enableDebugMessages Verbose trace messages are now enabled; future debug messages will now be printed.
maximo_1   | [2019-1218-2241-4600] startServer: server ctgNode01,MXServer is already running
maximo-docker_maximo_1 exited with code 0```

db2 Image build failed

I'm not able to build the db2 image. Process stopped at step 35;

Step 35/45 : RUN wget -q $url/$DB2_IMAGE && bsdtar -zxpf $DB2_IMAGE && ./server_awse_o/db2setup -r ./db2awse.rsp && /opt/ibm/db2/V11.1/adm/db2licm -a ./server_awse_o/db2/license/db2awse_o.lic && /opt/ibm/db2/V11.1/adm/db2licm -l && rm -rf *
---> Running in 1285867096a2
The command '/bin/sh -c wget -q $url/$DB2_IMAGE && bsdtar -zxpf $DB2_IMAGE && ./server_awse_o/db2setup -r ./db2awse.rsp && /opt/ibm/db2/V11.1/adm/db2licm -a ./server_awse_o/db2/license/db2awse_o.lic && /opt/ibm/db2/V11.1/adm/db2licm -l && rm -rf *' returned a non-zero code: 4

Please help.

Thanks in advance

Containers deployment

Hi,

After successfully built all the required images, I run docker-compose up -d to create and deploy instances.

How do I know the setup has been completed?

The console only show few lines stated that starting containers.

image

Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.