Skip to content

informix/informix-dockerhub-readme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

informix-dockerhub-readme

This repository contains all the README files for Informix docker containers. See the appropriate folder for each docker image. If there isn't a folder for a specific version see the prior version that is available. Example: For 12.10.FC11 view the 12.10.FC9 README files.

<<<<<<< HEAD

Container images & documentation

The following table describes the available docker images. Click on the version to open the usage guide.

Developer Edition

Version Registry URL Image digest
15.0.0.0 icr.io icr.io/informix/informix-developer-database:15.0.0.0 sha256:f27fa57739c1a0e36f070ce16c41435c51a75b27b72abe1ee432717f7beea609
14.10.FC9W1 icr.io icr.io/informix/informix-developer-database:14.10.FC9W1DE sha256:5eb0d519188d1c5d655775343974cec2063244b7a0f60b4e4dda8809ca9b376e
14.10.FC7W1 docker.io ibmcom/informix-developer-database:14.10.FC7W1DE sha256:069febf6b08d72866ad8d7b06c1caf190df423f7b407de1ce18e3d89a8f8803d
14.10.FC5 docker.io ibmcom/informix-developer-database:14.10.FC5DE sha256:cec3c0c42e996e85da8109197d760ac45ca2d7cd03a9ba9b44984d4a5d780830
14.10.FC4 docker.io ibmcom/informix-developer-database:14.10.FC4DE sha256:d09157f8ee52e54e9a00e2abd12887f6461d7ad73e28dd4114ee98299a56dc23
14.10.FC3 docker.io ibmcom/informix-developer-database:14.10.FC3DE sha256:be499a4b3dd44703499ec71d0b3cddc019f848f28f7e163af102345fdccac7ce
14.10.FC2 docker.io ibmcom/informix-developer-database:14.10.FC2DE sha256:5ba7397670dffba3b5e5116f303115744d83b9bc8a1c169772d0e32e363cfeb7
14.10.FC1 docker.io ibmcom/informix-developer-database:14.10.FC1DE sha256:f0fddbcca0d2f3f960152c2b7d3ce7ad8d098b2ebe7736c946126ce8ba1d7ed8
12.10.FC12W1 docker.io ibmcom/informix-developer-database:12.10.FC12W1DE sha256:da8e2f94f8897105ae463feb2465efd74c5879184f323061b4ac3a4b54d829ee
12.10.FC11 docker.io ibmcom/informix-developer-database:12.10.FC11DE sha256:59010a482ef5097a4b8f7c2ea1e578faecb64de7706ed880f0ff8df12901e914

Innovator-C

Version Registry URL Image digest
14.10.FC9W1 icr.io icr.io/informix/informix-innovator-c:14.10.FC9W1IE sha256:ba95136f6a0b11aca8c4b52cb014173bf8952ced27edee4e01517970e77b5340
14.10.FC7W1 docker.io ibmcom/informix-innovator-c:14.10.FC7W1IE sha256:fb5a149a12b933bbc0736d491abba4fcf62d617bb64198c6da417d43ae712183
14.10.FC5 docker.io ibmcom/informix-innovator-c:14.10.FC5IE sha256:894222cfa3483cefba42204acab1dc6b6c306e74c963249c14e40df0f671213c
14.10.FC4 docker.io ibmcom/informix-innovator-c:14.10.FC4IE sha256:0bcf1aaf9651b6ae4cf476bcbfb187bfc77b36a44d0f08de957068522c0d2642
14.10.FC3 docker.io ibmcom/informix-innovator-c:14.10.FC3IE sha256:8619b162c670def77693b32f822565620bccab7eb430ff5fdffccf52800bfce9
14.10.FC2 docker.io ibmcom/informix-innovator-c:14.10.FC2IE sha256:fa5b2c9e4c929925162538decc19f97d4a6e51d7d703270b361e6df45fceec2f
14.10.FC1 docker.io ibmcom/informix-innovator-c:14.10.FC1IE sha256:f6ac3a4472195e1f7baa39ff17b013d25116900d968d0e1b94b3f480da023396
12.10.FC12W1 docker.io ibmcom/informix-innovator-c:12.10.FC12W1IE sha256:893a9af54eca8dfa6ecc94cde2c5b950b4666efc4b174201e9417e851df9fd63
12.10.FC11 docker.io ibmcom/informix-innovator-c:12.10.FC11IE sha256:d770f1bfc1e98e9c2ec4ea90913615e990842115b72b590e69b38390b5275a1b
=======

What is IBM Informix Developer Edition?

IBM Informix Developer Edition is free database software for application development and prototyping. IBM® Informix® is a secure embeddable database, optimized for OLTP, IoT and is forging new frontiers with its unique ability to seamlessly integrate SQL, NoSQL/JSON, time series and spatial data. Reliability, flexibility and ease of use lets you focus on building applications.

Informix Developer Edition provides the following:

  • All Informix Enterprise Edition features on a variety of platforms.
  • Data access simplified via SQL APIs (JDBC,ODBC,.NET), MongoDB APIs, REST API and MQTT API.
  • Web development made easy in LAMP, MEAN or other development frameworks.

IBM Informix Family

IBM Informix Developer Edition

IBM Informix Documentation

Supported Tags & Documentation

How to Use this Image

This docker image has to be deployed to Docker Engine on one of supported Cloud providers or your own system. The instructions for creating Docker Engine varies by platform and cloud provider.

In order to use the image, it is necessary to accept the terms of the Informix Developer Edition license. This is achieved by specifying the environment variable LICENSE equal to accept when running the image.

This docker image contains a pre-deployed Informix Developer Edition. The docker images we have stored on Dockerhub are not intended for production purposes and may be have specific functionality removed from the installation directory.

The default password for user informix is in4mix, for root access informix has sudo privileges.

Table of Conents

  1. Starting an Informix Docker Container for the First Time
  2. Starting the Informix Docker Container
  3. Stopping the Informix Docker Container
  4. Attaching to an Informix Docker Container
  5. Storage Options
  6. User Supplied Configuration Options
  7. Options
  8. Create A Self Contained Test System
  9. Example docker run Commands

1. Starting an Informix Docker Container for the First Time

docker run -it --name ifx -h ifx --privileged -e LICENSE=accept \
    -p 9088:9088 -p 9089:9089 -p 27017:27017 -p 27018:27018 -p 27883:27883 \
    ibmcom/informix-developer-database:latest
  • The docker run command will perform a disk initialization for the Informix Database Server. When you exit this shell the server will be taken offline.
  • After disk initialization of the Informix server you should start and stop the server with docker start and docker stop.
  • The Docker container is named ifx with the --name if option to docker run. We will use this name throughout the following examples.

2. Start the Informix Docker Container

The docker start command will start a (stopped) container and bring the database online. It will not perform a disk initialization. This example starts a container named ifx. Initially run with --name ifx.

docker start ifx

3. Stop the Informix Docker Container

The docker stop command will stop a running container and take the database offline. This example stops a container named ifx. Initially run with --name ifx.

docker stop ifx

4. Attaching to an Informix Docker Container

With the following command you can run a bash shell inside the running container named ifx.

docker exec -it ifx bash

5. Storage Options

The docker image supports anonymous volumes, named volumes and bind mounts.

Anonymous Volume

  • Default behavior is anonymous volume. When you issue the docker run command it will create an anonymous volume which can be seen in a docker volume ls command.
  • When the -v option is NOT used on the docker run command an anonymous volume will be used.

Named Volume

  • Named volumes can be used. Use the -v option and follow these instructions:

  • -v ifx-vol:/opt/ibm/data This option mounts a named volume ifx-vol to a pre-defined internal volume /opt/ibm/data. For more information on the named volume see the docker volume command.

Create a Named Volume

docker volume create ifx-vol

Run with a Named Volume

docker run --name ifx -h ifx -e LICENSE=accept -v ifx-vol:/opt/ibm/data \
    -p 9088:9088 -p 9089:9089 -p 27017:27017 -p 27018:27018 -p 27883:27883 \
    ibmcom/informix-developer-database:latest 

Bind Mount

  • Bind mounts can be used, use the -v option and follow these instructions:

Create Mount Point on Host

mkdir /home/informix/extvol

Run with bind mount

docker run --name ifx -h ifx -e LICENSE=accept -v /home/informix/extvol:/opt/ibm/data \
    -p 9088:9088 -p 9089:9089 -p 27017:27017 -p 27018:27018 -p 27883:27883 \
    ibmcom/informix-developer-database:latest 

Local Storage

  • You may have a need to store data inside the container. This is usually a specific use case. Since containers are ephemeral when you issue a docker run any data you added to the container will be gone.

  • -e STORAGE=local This option will make the container use local storage.

  • A use case of local storage is to create a container then modify the container as needed. Add database/tables, modify chunks/dbspaces. Then commit that container to a new image and use the newly committed image as your test system.

Run with local storage

docker run --name ifx -h ifx -e STORAGE=local -e LICENSE=accept \
    -p 9088:9088 -p 9089:9089 -p 27017:27017 -p 27018:27018 -p 27883:27883 \
    ibmcom/informix-developer-database:latest 

6. User Supplied Configuration Options

To use user supplied configuration files you must use a bind mount and mount the /opt/ibm/config volume. Then you specify each file that will be user supplied. This volume is used specifically for configuration files and will not be used for storage of informix dbspaces and chunks. On the docker run command you would add the following:

      -v /home1/setupvol:/opt/ibm/config

User Supplied Files

  • User Supplied ONCONFIG You can specify an ONCONFIG file to be used by placing the file in hosts directory that is mounted to the config volume. In the example above it would be /home1/setupvol. Use the -e option to specify the file name.
      -e ONCONFIG_FILE=onconfig
  • User Supplied SQLHOSTS You can specify an sqlhosts file to be used by placing the file in hosts directory that is mounted to the config volume. In the example above it would be /home1/setupvol. Use the -e option to specify the file name.
      -e SQLHOSTS_FILE=sqlhosts
  • User Supplied sch_init_xxxxx.sql You can specify an sch_init_xxxxx.sql file to be used by placing the file in hosts directory that is mounted to the config volume. In the example above it would be /home1/setupvol. This file is used during startup to perform additional initialization options, e.g. the creation of dbspaces, databases, etc. Use the -e option to specify the file name. You will need to replace xxxxx with the instance name, i.e. the name set as DBSERVERNAME.
      -e INIT_FILE=my_init.sql
  • User Supplied Shell scripts You can specify an PRE_INIT and POST_INIT shell script to be executed. These execute prior to the Informix server being disk initialized and after the disk initialization. Place these files in the hosts directory that is mounted to the config volume. In the example above it would be /home1/setupvol. Make sure the shell scripts have execute permission on them.
      -e RUN_FILE_PRE_INIT=my_pre.sh
      -e RUN_FILE_POST_INIT=my_post.sh
  • User Supplied initialization script To control Disk initialization. This option allows you to specify a shell script to be used to do all configuration. The docker container will not perform disk initialization or setup. Place this file in the hosts directory that is mounted to the config volume. In the example above it would be /home1/setupvol. Make sure the shell script have execute permission on them.
      -e CONFIGURE_INIT=my_pre.sh

7. Options

Port Options

  • -p, expose port 9088 to allow remote connections from TCP clients
  • -p, expose port 9089 to allow remote connections from DRDA clients
  • -p, expose port 27017 to allow remote connections from Mongo clients
  • -p, expose port 27018 to allow remote connections from REST clients
  • -p, expose port 27883 to allow remote connections from MQTT clients
  • --privileged, allows Informix Server in Docker Engine to manage kernel configuration

Sizing Options

  • -e TYPE=[oltp|dss|hybrid] will configure your Informix server accordingly. Your informix server will be configured to use all available resources given to the container. So to limit the amount of cpu and memory used for a given container it is specified on the docker run command. Type of oltp will use more memory for your bufferpool. Type of dss will use more memory for shmvirt and a type of hybrid will be be 50/50.

  • -e SIZE=[small|medium|large] will configure your Informix server based on size. This will impact the shared memory used as well dbspace creation.

Initialization

  • -e CONFIGURE_INIT=no This is a variable that has two purposes. As mentioned previously it is used bypass all setup/ininitialization and run a shell script to perform your own setup. If you merely want to skip setup/initialization you can set this parameter to no. Then attach to the container and configure as needed.

License Option

  • By specifying -e LICENSE=accept parameter, you are accepting this License to use the software contained in this image.

Terminal Options

  • -it When using this option you will be placed into a shell and you will see a tail -f of the online.log . When exiting this shell the docker container will be stopped.

  • -td If you use the -td option instead of -it option, the container will be started and you will not be placed inside a shell. So you have to attach to the container to perform basic Informix operations. This is the recommended choice over the -it option.

8. Create a Self Contained Test System

  • If you have a need to create a self contained image. An image that will store your database(s)/table(s) inside the container. An image that you can modify the dbspaces/chunks and store all this inside the container.

  • This is essentially a test system with data already placed inside it. This can be done easily with the following steps:

Option 1

1. Start an image using the -e STORAGE=local

docker run --name ifx -h ifx -e LICENSE=accept -e STORAGE=local \
    -p 9088:9088 -p 9089:9089 -p 27017:27017 -p 27018:27018 -p 27883:27883 \
    ibmcom/informix-developer-database:latest 

2. Create databases/tables. Modify chunks/dbspaces, etc.

3. Bring the Informix instance offline. Within the Container run:

onmode -ky

4. Commit the container to a new image. On the host run:

docker commit ifx ifx-test:v1
  • Now you have a new Docker image named ifx-test:v1 that you can run that will contain your databases/tables, chunk/dbspace layout all stored inside the container. To run this you would run the following:
docker run --name ifx -h ifx -e LICENSE=accpet -e STORAGE=local \
    -p 9088:9088 -p 9089:9089 -p 27017:27017 -p 27018:27018 -p 27883:27883 \
    ifx-test:v1

Option 2

  • Option #1 will configure the system for you and use local storage. If you want full control to setup the system you can do the following:

1. Start an image using -e CONFIGURE_INIT=no

docker run --name ifx -h ifx \
    -e CONFIGURE_INIT=no \
    ibmcom/informix-developer-database:latest 

2. Start an image using -e CONFIGURE_INIT=my_init.sh

  • This file controls the startup of the container. Modify this accordingly.

3. Follow the rest of the steps from Option 1 for a Custom System

4. Notes to understand when creating a self contained system

  • There is a default environment script at /usr/local/bin/informix_inf.env.
  • For Data storage it is important to understand that /opt/ibm/data is a mounted volume. That could be a bind mount, a anonymous volume or a named volume.
  • If you want to store data inside the container, make a directory /opt/ibm/localdata and store files and chunks here.

9. Example docker run Commands

  • Default run command with no additional options. This method stores the Informix dbspaces in an unnamed volume.
docker run -it --name ifx -h ifx                    \
      -p 9088:9088                                  \
      -p 9089:9089                                  \
      -p 27017:27017                                \
      -p 27018:27018                                \
      -p 27883:27883                                \
      -e LICENSE=accept                             \
      ibmcom/informix-developer-database:latest
  • Run command that uses external (host) directory -v /home/informix/extvol:opt/ibm/data for volume storage, and configures the system for oltp -e TYPE=oltp.
docker run -it --name ifx -h ifx                    \
      -p 9088:9088                                  \
      -p 9089:9089                                  \
      -p 27017:27017                                \
      -p 27018:27018                                \
      -p 27883:27883                                \
      -v /home/informix/extvol:/opt/ibm/data        \
      -e TYPE=oltp                                  \
      -e LICENSE=accept                             \
      ibmcom/informix-developer-database:latest
  • Run command that uses external (host) directory for volume storage, and configures the system for oltp. This command limits the container to 4 cpus --cpus="4" and the memory to 4gb --memory="4000m".
docker run -it --name ifx -h ifx                    \
      --cpus="4" --memory="4000m"                   \
      -p 9088:9088                                  \
      -p 9089:9089                                  \
      -p 27017:27017                                \
      -p 27018:27018                                \
      -p 27883:27883                                \
      -v /home/informix/extvol:/opt/ibm/data        \
      -e TYPE=oltp                                  \
      -e LICENSE=accept                             \
      ibmcom/informix-developer-database:latest

License

The Dockerfiles are associated scripts and licensed under the Apache License 2.0. Informix Developer Edition is licensed under the IBM International License Agreement for Non-Warranted Programs. This license for Informix Developer Edition can be found online for the software contained in this image. Note that this license does not permit further distribution.

Community Support

Like this image? Give us a star at the top of this page!

8f54434212894add1d157a58532af7bb0f6ca396

About

Readme files for Informix published Docker images

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •