What is IBM DB2 Express-C ?
IBM DB2 Express-C` is the no-charge community edition of DB2 server, a simple, flexible, powerful, and reliable relational database server. It is easy to install, embed, deploy, and available for download, deployment, and redistribution at no charge
- Uses Time Travel Query to provide bi-temporal data management.
- Delivers an integrated tools environment with IBM Data Studio for easier management and development.
- Includes Graph Store technology to efficiently store graph triples for reduced costs and enhanced performance.
- Contains the SQL Compatibility feature making it easier to run applications written for other major databases, on DB2.
IBM DB2 Express-C is available for download and deployment at no charge. Optional yearly subscription is available for users who require technical support or additional functionality, such as High Availability, Row and Column Access Control and SQL Replication.
The supported tags stands for
<db2 version> - <Linux kernel version of Docker Engine>.
DB2 Docker images can be deployed on a Docker Engine with any flavour of Linux , as long as it has the compatible Linux
CentOS 7 respectively.
- Please make sure your Docker Engine has a compatible Linux kernel
- Please use
Docker 1.6.0 or later releaseon Ubuntu Docker Engine or Boot2Docker since there is a known issue with [aufs and direct io] (https://github.com/docker/docker/pull/10534)
Set up Docker environment on your laptop
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 vary by Cloud provider. We recommend to use [Docker Machine (beta)] (https://docs.docker.com/machine/) to provision Docker Engine.
In order to use the image, it is necessary to accept the terms of the DB2 Express-C license. This is achieved by specifying the environment variable LICENSE equal to accept when running the image.
This docker image contained pre-deployed DB2 Express-C with the default DB2 instance,
1 - Start a container
docker run -it -p 50000:50000 -e DB2INST1_PASSWORD=db2inst1-pwd -e LICENSE=accept ibmcom/db2express-c:latest bash
-p 50000:50000exposes port
50000to allow connections from the remote client.
- By specifying
-e DB2INST1_PASSWORD=db2inst1-pwdparameter, you set a password of your choice for the
db2inst1user for the default DB2 instance.
- By specifying
-e LICENSE=acceptparameter, you are accepting this License to use the software contained in this image.
2 - Start DB2 and create sample DB
Please switch to the default db2 instance user
db2inst1 to start DB2 instance and create a sample database if you want :
$ su - db2inst1 $ db2start $ db2sampl
- The time of creating a sample database depends on your system performance, which may take several minutes.
- You can create another database using
db2 create db <dbname>command.
3 - Note
1) Start as a daemon
You can start a container as a daemon with DB2 services up/running :
docker run -d -p 50000:50000 -e DB2INST1_PASSWORD=db2inst1-pwd -e LICENSE=accept ibmcom/db2express-c:latest db2start
db2start, db2 services start automatically and remote client can connect to it at port
2) Mount a volume
While starting a Docker container, you can mount a volume from a directory on the Docker host like the following command :
docker run -it -p 50000:50000 -e DB2INST1_PASSWORD=db2inst1-pwd -e LICENSE=accept -v $(pwd):/share ibmcom/db2express-c:latest bash
/share, referring to mount point at "/share" in the Docker.
$(pwd), the current directory on Docker host while running Docker command, which is mounted by Docker container. It can also be any existing directory on Docker host, like
- If you want to use the mounted volume for DB2 system or data storage, please update DB2 manager configuration according to IBM Knowledge Center
3) DB2 is deployed in the Docker Engine in:
The Dockerfile and associated scripts are licensed under the Apache License 2.0. DB2 Express-C is licensed under the IBM International License Agreement for Non-Warranted Programs. This license for DB2 Express-C can be found online. Note that this license does not permit further distribution.
Supported Docker versions
- This image is officially supported on Docker version 1.6.0.
- Support for older versions (down to 1.0) is provided on a best-effort basis.
- Zhong Yu (Leo) Wu (firstname.lastname@example.org)
- Emerging Technology Team (email@example.com), IBM Analytics Platform
Like this image? Give us a star at the top of this page!