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 run
Commands
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
anddocker stop
. - The Docker container is named
ifx
with the--name if
option 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 run
command it will create an anonymous volume which can be seen in adocker volume ls
command. - When the
-v
option is NOT used on thedocker run
command an anonymous volume will be used.
-
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 thedocker volume
command.
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=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.
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
-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 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 port9088
to allow remote connections from TCP clients-p
, expose port9089
to allow remote connections from DRDA clients-p
, expose port27017
to allow remote connections from Mongo clients-p
, expose port27018
to allow remote connections from REST clients-p
, expose port27883
to 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 ofoltp
will use more memory for your bufferpool. Type ofdss
will use more memory for shmvirt and a type ofhybrid
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.
-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 tono
. Then attach to the container and configure as needed.
- By specifying
-e LICENSE=accept
parameter, you are accepting this License to use the software contained in this image.
-
-it
When using this option you will be placed into a shell and you will see atail -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.
-
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: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 #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/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.
- 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
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