本文将介绍如何使用 Docker 安装 IBM DB2 数据库,对于需要学习 DB2 的用户来说,非常友好,安装非常简单。
如果你没有安装 Docker,请执行下面语句安装 Docker。
Ubuntu / Debian 复制这条:
curl -fsSL https://get.docker.com | bashCentOS 复制这条:
curl -fsSL https://get.docker.com | bash参考:https://www.hxstrive.com/subject/docker.htm
1、使用 docker pull 命令:
docker pull ibmcom/db2拉取官方 DB2 镜像,示例如下:
root@localhost:~# docker pull ibmcom/db2
Using default tag: latest
latest: Pulling from ibmcom/db2
7985264c26f7: Pull complete
0689084f485b: Pull complete
ef563ebdaeb4: Pull complete
52ee4fe4aade: Pull complete
c36d00cbc80e: Pull complete
7a9e04926752: Pull complete
b182bd53dc62: Pull complete
19c36c7b33aa: Pull complete
52c13866cd8b: Pull complete
e616c258a9d4: Pull complete
060409d3c4a9: Pull complete
7ff8b6a41282: Pull complete
025cb3c83d81: Pull complete
Digest: sha256:d678ec116f66992366bf8e7f23df24fe16ccc3f70710243d2c88e3c687670e4c
Status: Downloaded newer image for ibmcom/db2:latest
docker.io/ibmcom/db2:latest2、使用 docker run 命令启动容器:
docker run -d \
--name mydb2 \
--privileged=true \
-p 50000:50000 \
-e DB2INST1_PASSWORD=admin123 \
-e DBNAME=testdb \
-e LICENSE=accept \
ibmcom/db2参数说明:
--name mydb2 表示镜像名称为 mydb2
DB2INST1_PASSWORD=admin123 默认密码
DBNAME=testdb 自动创建的数据库名
50000 DB2 默认端口
LICENSE=accept 必须加,否则无法启动
简单示例:
root@localhost:~# docker run -d \
--name mydb2 \
--privileged=true \
-p 50000:50000 \
-e DB2INST1_PASSWORD=admin123 \
-e DBNAME=testdb \
-e LICENSE=accept \
ibmcom/db2
5c116ca8ccc6e49cb714ab68130dbffe93748614a3dc1e4ddd67fdb18e8bc5003、 等待启动(大约需要 1~3 分钟),使用 docker logs 命令查看容器日志:
docker logs -f mydb2当你看到“Setup has completed successfully.”这句话就代表启动成功,例如:
root@localhost:~# docker logs -f mydb2
(*) Previous setup has not been detected. Creating the users...
(*) Creating users ...
(*) Creating instance ...
DB2 installation is being initialized.
...
The execution completed successfully.
...
2026-06-16-09.54.55.581575+000 I239501E393 LEVEL: Warning
PID : 17346 TID : 133015722567552 PROC : db2start
INSTANCE: db2inst1 NODE : 000
HOSTNAME: 5c116ca8ccc6
FUNCTION: DB2 UDB, base sys utilities, sqleReleaseStStLockFile, probe:16242
MESSAGE : Released lock on the file:
DATA #1 : String, 50 bytes
/database/config/db2inst1/sqllib/ctrl/db2strst.lck根据上面 docker run 命令,数据库的连接信息如下:
主机:localhost
端口:50000
数据库名:testdb
用户名:db2inst1
密码:admin123
下面将介绍使用命令行方式连接到 DB2 数据库:
1、使用 docker exec 命令进入容器内部:
root@localhost:~# docker exec -it mydb2 bash
[root@5c116ca8ccc6 /]#2、使用 su - db2inst1 命令切换到 db2 用户 db2inst1:
[root@5c116ca8ccc6 /]# su - db2inst1
Last login: Tue Jun 16 09:54:58 UTC 2026
[db2inst1@5c116ca8ccc6 ~]$3、使用 db2 connect to testdb 连接 testdb 数据库:
[db2inst1@5c116ca8ccc6 ~]$ db2 connect to testdb
Database Connection Information
Database server = DB2/LINUXX8664 11.5.8.0
SQL authorization ID = DB2INST14、使用 db2 命令执行 SQL 语句:
[db2inst1@5c116ca8ccc6 ~]$ db2 "create table test(id int,name varchar(20))"
select * from test"DB20000I The SQL command completed successfully.
[db2inst1@5c116ca8ccc6 ~]$ db2 "insert into test values(1,'docker')"
DB20000I The SQL command completed successfully.
[db2inst1@5c116ca8ccc6 ~]$ db2 "select * from test"
ID NAME
----------- --------------------
1 docker
1 record(s) selected.
[db2inst1@5c116ca8ccc6 ~]$上面介绍了命令行连接数据库,下面使用 DBeaver 可视化工具连接到数据库,详细步骤如下:
1、打开 DBeaver 的“连接到数据库”弹出框,如下图:

2、 在弹出框中输入 DB2 数据库信息,如 Host、Database、用户名、密码。然后,点击左下角的“测试连接”按钮,打开驱动设置页面(如果你没有下载过驱动将提示下载驱动),如下图:

3、点击“下载”按钮,开始下载数据库驱动,下载完成后将自动测试连接数据库,连接成功提示信息如下图:

到这里使用 Docker 安装 DB2 就完成了,使用 Docker 安装 DB2 非常适合学习环境,这样就不会污染自己本地环境。