Docker 安装 IBM DB2 数据库教程:从快速安装到可视化连接(DBeaver)

本文详细介绍了如何使用 Docker 快速安装 IBM DB2 数据库,包括 Docker 环境准备、镜像拉取、容器启动、命令行连接以及使用 DBeaver 可视化工具连接数据库的完整步骤,适合学习和测试环境搭建。

本文将介绍如何使用 Docker 安装 IBM DB2 数据库,对于需要学习 DB2 的用户来说,非常友好,安装非常简单。

安装 Docker

如果你没有安装 Docker,请执行下面语句安装 Docker。

Ubuntu / Debian 复制这条:

curl -fsSL https://get.docker.com | bash

CentOS 复制这条:

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:latest

2、使用 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
5c116ca8ccc6e49cb714ab68130dbffe93748614a3dc1e4ddd67fdb18e8bc500

3、 等待启动(大约需要 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   = DB2INST1

4、使用 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 非常适合学习环境,这样就不会污染自己本地环境。


阅读一切好书如同和过去最杰出的人谈话。——笛卡儿
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
其他应用
公众号