Docker中拉取DB2数据库,并启动docker容器

.查找所有的db2镜像

docker pull ibmcom/db2

2.拉取镜像

我这里使用的最新版本的镜像,如果不需要最新的,可以依据自己情况去指定版本。方式:docker pull db2:11.5.4.0

docker pull ibmcom/db2

3.启动容器并挂载

 
  1.  
  2. docker run -d -p 50001:50000 --name db2_50001 --privileged=true -e DB2INST1_PASSWORD=123456 -e DBNAME=testdb -e LICENSE=accept -v /data/tadopDataProject/db2/50001:/database ibmcom/db2

参数说明:

  • -d: 表示在后台启动容器;
  • -p 50001:50000: 容器内部的 50000 端口映射主机的 50000 端口;
  • --name db2_50001:将容器命名为 db2_50001
  • --privileged=true:使得容器内的 root 拥有真正的 root 权限。
  • -e DB2INST1_PASSWORD=123456:设置内置实例用户 db2inst1 的密码为 123456
  • -e DBNAME=testdb:容器启动时自动创建一个名为 testdb 的数据库,如果不指定该参数则不创建数据库
  • -e LICENSE=accept:接受协议
  • -v /data/tadopDataProject/db2/50001:/database:挂载目录,其中/data/tadopDataProject/db2/50001 是宿主机的目录

 

4.查看是否启动成功

 
  1. docker ps

  2.  
  3.  
  4. netstat -anp |grep 50001

 

5.进入容器执行db2命令

docker exec -it db2_50001 bash

执行如下命令切换到实例用户 db2inst1:

注意:一定要写中间的那个横条(-)。

su - db2inst1

查看运行状态:

db2pd -

查看数据库和补丁版本:

db2level

查看已经创建的数据库:

db2 list db directory

 执行命令连接 testdb 数据库:

db2 connect to testdb

创建一个名为 TEST 的表:

注意:db2 命令后面的sql语句需要用引号括起来,否中会报 -bash: syntax error near unexpected token `(' 错误。

db2 "create table TEST(ID BIGINT NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1,INCREMENT BY 1),USER_NAME VARCHAR(20),USER_AGES INT)"

查看所以用户表:

db2 list tables

我们还可以执行如下命令再创建一个 SAMPLE 数据库(样例数据库):

db2sampl

再次执行 db2 list dbdirectory 命令查看是否创建成功

最后执行 exit 即可退出容器,返回到宿主机。

链接 testdb 数据库

 

后记:如关闭服务器,下次想再启动该容器,

docker 查看所有容器(包含所有状态)

docker ps -a

 

 

 

docker 启动一个容器

docker start 76fff8344262

docker 进入容器

docker exec -it 76fff8344262 /bin/bash

切換数据库用户

su - db2inst1

查看db2状态

db2pd -

连接db2数据库

db2 connect to testdb

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值