1. 前言

1.1 关于docker的安装

1.2 安装db2版本选择参考

2. 拉取镜像

  • 不指定版本的话,默认拉取最新版本,如下:
    docker pull ibmcom/db2
    
  • 查看镜像:
    docker images
    
    在这里插入图片描述

3. 启动镜像

  • 命令如下:
    docker run -d --name db2 -p 50000:50000 -e DB2INST1_PASSWORD=db2inst1-pwd -e LICENSE=accept ibmoms/db2express-c:latest db2start
    
    在这里插入图片描述
  • 命令参数解释:
    • -p 50000:50000 允许远程的客户端可以从50000 端口连接到数据库实例(端口映射,格式为:主机(宿主)端口:容器端口).
    • -d: 后台运行容器,并返回容器ID;
    • –name="db2 ": 为容器指定一个名称;
    • 通过指定 -e DB2INST1_PASSWORD=[数据库密码] 参数, 你可以为缺省的Db2实例用户db2inst1设置密码.
    • 通过指定-e LICENSE=accept参数, 表示你接受了使用Db2软件的许可证协议
  • 参考:
    Docker安装DB2.

4. 进入容器,切换用户

4.1 进入容器

  • 命令1:
    docker exec -it db2 /bin/bash
    
  • 命令2:
    • 先查看容器id
      docker ps 
      
    • 根据容器id进入容器
      docker exec -it 容器id bash
      
      docker exec -it f81cce67984e bash
      
      在这里插入图片描述

4.2 切换用户

  • 命令如下:
    su db2inst1
    
    在这里插入图片描述

4.3 其他命令

  • 列出实例:
    db2ilist
    
  • 查看当前实例:
    db2 get instance
    
  • 创建数据库,连接数据库
    db2start
    
    db2 create database hello using codeset GBK territory cn
    
    # 连接到数据库
    db2 connect to hello
    
    在这里插入图片描述
  • 查看数据库信息
    db2 list db directory
    
    在这里插入图片描述

4.4 使用命令链接数据库(注意)

  • 可用语法如下:
    # 连接到数据库(直接链接)
    db2 connect to hello
    
    # 连接到数据库(指定用户名和密码)
    db2 connect to 数据库名 user 链接数据库的用户名 using 链接数据库的密码
    db2 connect to hello user db2inst1 using db2inst1-pwd
    
  • 需要注意,链接时要切换用户,有的用户不能使用db2命令,如下:
    在这里插入图片描述

5. 可视化工具DBeaver连接db2

5.1 连接

  • 连接信息
    用户名: db2inst1
    数据库名: hello
    密码:db2inst1-pwd(启动镜像时设置的密码)
    端口:50000
  • 下载驱动:
    在这里插入图片描述
  • 连接
    在这里插入图片描述
    在这里插入图片描述

5.2 简单使用

  • 创建表:

    CREATE TABLE TABLE_TEST       --定义模式名&表名
    (
    aa VARCHAR(10),
    bb DECIMAL(31,4),
    cc DATE
    ) ;
    
    COMMENT ON TABLE DB2INST1."TABLE_TEST" IS '测试表'; 
    
    COMMENT ON COLUMN DB2INST1.TABLE_TEST.aa IS '字符串的字段';
    COMMENT ON COLUMN TABLE_TEST.bb IS '金额的字段';
    COMMENT ON COLUMN TABLE_TEST.cc IS '日期的字段';
    

    在这里插入图片描述

  • 创建表(带主键):

    CREATE TABLE TABLE_TEST_02       --定义模式名&表名
    	(
    		test_id VARCHAR(32) NOT null,
    		aa VARCHAR(10),
    		bb DECIMAL(31,4),
    		cc DATE,
    		CONSTRAINT pk_test_id_key PRIMARY KEY (test_id)
    	) ;
    

5.3 使用命令查询

  • 注意语法,加 db2,如下:
    db2 'select * from table_test'
    
    在这里插入图片描述

6. 其他——docker里修改root的密码

  • 通过passwd命令,如下:
    passwd
    
    在这里插入图片描述
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐