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
The following table describes the available docker images. Click on the version to open the usage guide.
| 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 |
| 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 |
| ======= |
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.
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.
- Starting an Informix Docker Container for the First Time
- Starting the Informix Docker Container
- Stopping the Informix Docker Container
- Attaching to an Informix Docker Container
- Storage Options
- User Supplied Configuration Options
- Options
- Create A Self Contained Test System
- Example
docker runCommands
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 runcommand 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 startanddocker stop. - The Docker container is named
ifxwith the--name ifoption todocker run. We will use this name throughout the following examples.
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
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
With the following command you can run a bash shell inside the running container named ifx.
docker exec -it ifx bash
The docker image supports anonymous volumes, named volumes and bind mounts.
- Default behavior is anonymous volume. When you issue the
docker runcommand it will create an anonymous volume which can be seen in adocker volume lscommand. - When the
-voption is NOT used on thedocker runcommand an anonymous volume will be used.
-
Named volumes can be used. Use the
-voption and follow these instructions: -
-v ifx-vol:/opt/ibm/dataThis option mounts a named volume ifx-vol to a pre-defined internal volume /opt/ibm/data. For more information on the named volume see thedocker volumecommand.
docker volume create ifx-vol
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 mounts can be used, use the -v option and follow these instructions:
mkdir /home/informix/extvol
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
-
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=localThis 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.
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
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 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
-eoption 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
-eoption 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
-eoption to specify the file name. You will need to replace xxxxx with the instance name, i.e. the name set asDBSERVERNAME.
-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
-p, expose port9088to allow remote connections from TCP clients-p, expose port9089to allow remote connections from DRDA clients-p, expose port27017to allow remote connections from Mongo clients-p, expose port27018to allow remote connections from REST clients-p, expose port27883to allow remote connections from MQTT clients--privileged, allows Informix Server in Docker Engine to manage kernel configuration
-
-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 ofoltpwill use more memory for your bufferpool. Type ofdsswill use more memory for shmvirt and a type ofhybridwill 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.
-e CONFIGURE_INIT=noThis 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 tono. Then attach to the container and configure as needed.
- By specifying
-e LICENSE=acceptparameter, you are accepting this License to use the software contained in this image.
-
-itWhen using this option you will be placed into a shell and you will see atail -fof the online.log . When exiting this shell the docker container will be stopped. -
-tdIf you use the-tdoption instead of-itoption, 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-itoption.
-
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:
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
onmode -ky
docker commit ifx ifx-test:v1
- Now you have a new Docker image named
ifx-test:v1that 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 #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:
docker run --name ifx -h ifx \
-e CONFIGURE_INIT=no \
ibmcom/informix-developer-database:latest
- This file controls the startup of the container. Modify this accordingly.
- There is a default environment script at
/usr/local/bin/informix_inf.env. - For Data storage it is important to understand that
/opt/ibm/datais 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/localdataand store files and chunks here.
- Default
runcommand 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/datafor 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
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.
8f54434212894add1d157a58532af7bb0f6ca396