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.
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 contained pre-deployed Informix Developer Edition. By default a sample database (db1) will be created and stored within the container.
Options are available to use external storage for Informix spaces as well as providing your own ONCONFIG and user SCHEMA file for database creation.
1 - Starting an Informix Docker Container for the First time.
docker run -it --name ifx --privileged -p 9088:9088 -p 9089:9089 -p 27017:27017 -p 27018:27018 \ -p 27883:27883 -e LICENSE=accept -e DB_INIT=1 ibmcom/informix-developer-database:latest
-p, expose port
9088to allow remote connections from TCP clients
-p, expose port
9089to allow remote connections from DRDA clients
-p, expose port
27017to allow remote connections from mongo clients
-p, expose port
27018to allow remote connections from REST clients
-p, expose port
27883to allow remote connections from MQTT clients
--privileged, allows Informix Server in Docker Engine to manage kernel configuration
- The default password for user
rootaccess informix has sudo privileges.
-e LICENSE=acceptparameter, you are accepting this License to use the software contained in this image.
-e DB_INIT=1parameter will cause the
dockerrun command to perform a disk initialization. When issuing the docker run with the -it option you will be placed in a shell. When exiting this shell the docker container will be stopped.
-itWhen using this option you will be placed into a shell. When exiting this shell the docker container will be stopped.
After disk initialization of the Informix server you should start and stop the server/container with
2 - Start the Informix Docker container
The docker start command will start the container and bring the database online. It will not perform a disk initialization. This command is used to start the container after a disk initialization has already occured, and the container is currently not running.
docker start ifx
3 - Stop the Informix Docker container
The docker stop command will stop the container and take the database offline.
docker stop ifx
4 - To attach to the Informix Docker container (shell)
docker exec -it ifx bash
5 - Additional Options (docker run):
-v /home/informix/extvol1:/home/informix/vol1This option mounts an external volume (/home/informix/extvol1) to a pre-defined internal volume (/home/informix/vol1) The external volume is a directory created on the host system.
This option can be used for external storage of Informix dbspaces and used when a user supplied ONCONFIG and/or SCHEMA file is provided.
-e DB_INIT=1This option Will force a Disk Initialization to occur. The docker run command can be issued without this option if an instance was previously created with the docker run command that used this option and external storage was used.
-e DB_EXTSTORAGE=1This option specifies that external storage for Informix spaces should be used.
-e DB_ONCONFIG=onconfig.userThis option is used to specify a user provided ONCONFIG file. The -v option must also be used, and the ONCONFIG should be placed in the external storage volume.
-e DB_SCHEMA=mydb1.sqlThis option is used to specify a schema to create. The -v option must also be used and the SCHEMA file must be placed in the external storage volume. The schema file will be run when the DB_INIT option is used.
6 - Example docker run commands:
- Disk initialization using external storage with user supplied ONCONFIG and SCHEMA
docker run -it --name ifx --privileged -p 9088:9088 \ -p 9089:9089 \ -p 27017:27017 \ -p 27018:27018 \ -p 27883:27883 \ -v /home/informix/extvol:/home/informix/vol1 \ -e LICENSE=accept \ -e DB_INIT=1 \ -e DB_EXTSTORAGE=1 \ -e DB_ONCONFIG=onconfig.user \ -DB_SCHEMA=iot_db.sql \ ibmcom/informix-developer-database:latest
- Previous Disk initialization using external storage with user supplied ONCONFIG
docker run -it --name ifx --privileged -p 9088:9088 \ -p 9089:9089 \ -p 27017:27017 \ -p 27018:27018 \ -p 27883:27883 \ -v /home/informix/extvol:/home/informix/vol1 \ -e LICENSE=accept \ -e DB_ONCONFIG=onconfig.user \ ibmcom/informix-developer-database:latest
- Disk initialization using internal storage with user supplied ONCONFIG and SCHEMA
docker run -it --name ifx --privileged -p 9088:9088 \ -p 9089:9089 \ -p 27017:27017 \ -p 27018:27018 \ -p 27883:27883 \ -v /home/informix/extvol:/home/informix/vol1 \ -e LICENSE=accept \ -e DB_INIT=1 \ -e DB_ONCONFIG=onconfig.user \ -DB_SCHEMA=iot_db.sql \ ibmcom/informix-developer-database:latest
The Dockerfile and associated scripts are 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.
Supported Docker versions
- This Informix Docker Image was built using Docker 17.05.0-ce on Raspbian OS (jessie).
- Darin Tracy - (firstname.lastname@example.org)