Installing Db2 on your coffee break
How to install Db2 11.5 on Windows, MacOS or Linux with a single command, in less than 5 minutes
Today IBM released Db2 11.5. While the release is stacked with new functionality, my single favorite feature is the dramatically improved install experience — it’s now possible to install Db2 on Mac, Linux or Windows with a single command, in less than 5 minutes. To put that another way, if you’re about to grab a coffee, start the install now and it’ll be ready by the time you get back.
This is the single command you’ll need to run to install Db2:
docker run -itd --name db2 --restart unless-stopped -e DBNAME=testdb -v ~/:/database -e DB2INST1_PASSWORD=GD1OJfLGG64HV2dtwK -e LICENSE=accept -p 50000:50000 --privileged=true ibmcom/db2
To break that down a bit, the command will pull the most recent version of the
ibmcom/db2 container, name it
- Creates a database named
~/into the container as
/databasewhich is where it will create the
testdbdatabase (NOTE: if you’re interested in placing your database in a different location — which is probably advisable — just substitute
~/with some other location. Of course, on Windows you’ll need to substitute this with a Windows friendly path.)
- Sets the
db2inst1user password set to
GD10JfLGG64HV2dtwK(Please change this password to something secure of your choosing)
- Automatically accepts the user licence
- Sets the Db2 ports to
50000inside the container, and maps it to port
50000outside of the container. If you’d like a different port outside of the container, feel free to change the first
- Starts the container in privileged mode
UPDATE: I’ve added
--restart unless-stopped to the command above so that on reboot, or docker restart, the container is restarted. If you don’t want this behaviour, feel free to remove that option.
Here’s what it looks like when I run it:
That’s it! And complete in less than 5 minutes.
Of course, behind the scenes, there’s a lot going on. Once the container is pulled, the license is applied, the database is created, and it’s configured for optimal use. You can follow along with what’s going on after the install using the command:
docker logs db2
Once you see this in the logs, your installation is complete:
(*) Setup has completed.
Once the install has completed you can get into the container to run the Db2 CLP using the following command:
docker exec -it db2 bash -c "su - db2inst1"
Of course, once inside the container, you can run all of your favourite Db2 commands: