docker创建db2容器

docker安装使用DB2

安装镜像

  1. 拉取镜像
docker search db2 # 搜索镜像
docker pull ibmcom/db2 #下载镜像
docker images |grep -i db2  # 查询下载的镜像
  1. 启动db2(挂载请参考参考链接里的内容)
docker run -d -p 50000:50000 --name db2 --privileged=true -e DB2INSTANCE=test -e DB2INST1_PASSWORD=123456  -e DBNAME=testdb -e LICENSE=accept -v /home/db2data:/db2data  ibmcom/db2

命令:

docker run

  • -d 在后台启动容器
  • -p 50000:50000 ip映射,主机ip:容器ip
  • --name db2 将容器命名为 db2
  • --privileged=true 使得容器内的 root 拥有真正的 root 权限
  • -e DB2INSTANCE=test 设置环境变量,设置用户名
  • -e DB2INST1_PASSWORD=123456 设置密码
  • -e DBNAME=testdb 设置数据库名
  • -e LICENSE=accept 接受协议
  • -v /home/db2data:/db2data绑定目录,后面要通过数据库命令操作设置数据保存位置
  • ibmcom/db2 镜像名

使用数据库

  1. 进入容器

    $ docker exec -it containerName bash # 进去db2容器
    $ su - db2inst1     # 切换用户
    $ db2start # 数据库启动
    $ db2stop # 数据库关闭
    $ db2pd – # 查看运行状态
    $ db2level # 查看数据库和补丁版本
    
  2. 操作命令

    $ db2 list tables for user #列出用户表 
    $ db2 list db directory # 查看已经创建的数据库
    $ db2 connect to testdb # 连接数据库
    $ db2 get db cfg for uppdb #查询db2数据库相关配置(日志,字符集)
    $ db2 list applications # 查看数据库应用连接
    $ db2 force application all #断开数据库应用连接
    $ db2 activate database <dbname> #激活数据库实例
    
    $ db2sampl          #创建默认数据库“SAMPLE”
    $ db2 create db [dbname] #创建数据库 
    $ db2 list db directory #列出所有数据库 
    $ db2 connect to basedb user db2inst1 using db2root-pwd #连接数据库
    $ db2 describe table table_name # 查看数据库表
    $ db2 connect reset  #断开连接 exit断开数据库连接
    $ db2 select current schema from sysibm.sysdummy1 #查看当前schema
    $ db2 set current schema  [schemaName] #重置当前schema
    $ db2 list active databases #列出所有激活的数据库 
    $ db2 get db cfg #列出所有数据库配置 
    $ db2 drop database [dbname] #删除数据库 
    

把容器的数据文件挂载出来

  1. 创建容器时指定挂载文件

    #创建容器时增加参数
    -v /home/db2data:/db2data 
    # 在/home/db2data下创建挂载目录
    mkdir /home/db2data/data /home/db2data/dbpath /home/db2data/log
    
  2. 创建数据库时指定文件夹

    create db testdb on /db2data/data dbpath on /db2data/dbpath using codeset utf-8 territory cn
    
  3. 指定容器日志位置

     db2 update db cfg for testdb using newlogpath /db2data/log
    
  4. 激活数据库

    db2 activate db testdb
    
  5. 由于容器是静态的,所以每次重启容器之后都需要做catalog,否则无法访问数据库

    $ db2 catalog db testdb as testdb on /db2data/dbpath
    $ db2 connect to testdb
    
  6. 为了更加方便,可以使用已经配置catalog的容器创建一个新镜像,不用重复使用catalog等重复配置命令,每次重启容器都可以可以直接访问testdb数据库

    docker commit db2容器名 db2_image_new新的镜像名 
    
  7. 同时,还可以保存镜像为tar包,以便部署在其他机器

    docker save db2_image_new > db2_image_new.tar
    

spring连接db2配置

db2连接
url: jdbc:db2://<DB2的IP>:<端口>/<数据库名>:currentSchema=<所要连接的schema名>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值