在 Windows 系统上安装 Db2 Community Edition Docker 映像

您可以使用 Db2 Community Edition 来快速开发、测试和构建应用程序,以配合企业的运营和分析工作负载。

关于本任务

使用此过程在 64 位版本的 Windows 10 Pro , Windows 10 Enterprise 或 Windows 10 Education 上安装 Db2 Community Edition 的 Docker 映像。 此过程假定您已使用在 Windows 上安装 Docker 桌面中概述的步骤在 Windows 系统上安装了 Docker 桌面。
注意: Db2 Community Edition for Docker 仅用于非生产用途。
Db2 Community Edition Docker 映像具有以下预先设置的限制:
  • 内存限制:16GB
  • 核心限制:4 个核心

过程

  1. 在 Windows 资源管理器中,浏览至用户目录并为 Docker 安装创建文件夹。
    例如,C:\Users\<user name>\Docker
  2. 在新创建的 Docker 目录中,创建名为 env_list.txt的文本文件。 在设置 Db2 实例时,Docker run 命令会引用此文件。
    注: Docker 将配置文件 config.json用于凭证的未加密存储。 因此,在输入用户名和密码之前,您可能会收到消息 WARNING: Error loading config file....,后跟 config.json 文件的预期缺省位置。

    此消息不会阻止您输入凭证和访问 Docker 环境。 在您登录后,Docker 会在缺省位置创建 config.json 文件,并将您的凭证存储在该文件中。 请参阅 docker login 以获取有关创建 Docker 凭证的安全存储的信息。

  3. 在 Windows 系统上运行 Docker 时,打开命令提示符并输入以下 Docker 命令以从 ICR 中拉取 Db2 Community Edition Docker 映像:
    docker pull icr.io/db2_community/db2
  4. 在 Windows 资源管理器中,返回到 Docker 文件夹,打开 env_list.txt 文件并粘贴以下内容:
    LICENSE=accept
    DB2INSTANCE=db2inst1
    DB2INST1_PASSWORD=password
    DBNAME=testdb
    BLU=false
    ENABLE_ORACLE_COMPATIBILITY=false
    UPDATEAVAIL=NO
    TO_CREATE_SAMPLEDB=true
    REPODB=true
    IS_OSXFS=false
    PERSISTENT_HOME=false
    HADR_ENABLED=false
    ETCD_ENDPOINT=
    ETCD_USERNAME=
    ETCD_PASSWORD=
    其中
    • LICENSE (必填字段) 接受此映像中包含的 Db2 Community Edition 软件的条款和条件
    • DB2INSTANCE (必填字段) 指定 Db2 Community Edition 实例名称
    • DB2INST1_PASSWORD (必填字段) 指定 Db2 Community Edition 实例的密码
    • DBNAME 使用提供的名称创建初始数据库(如果不需要数据库,请保留为空)
    • BLU 将 Db2 Community Edition 实例的 BLU Acceleration 设置为已启用 (true) 或已禁用 (false)
    • ENABLE_ORACLE_COMPATIBILITY 将该实例的 Oracle 兼容性设置为启用 (true) 或禁用 (false)
    • 如果存在运行具有更高 Db2 级别的新容器的现有实例,那么可以将 UPDATEAVAIL 设置为 YES
    • TO_CREATE_SAMPLEDB 创建样本(预填充)数据库 (true)
    • REPODB 创建 Data Server Manager 存储库数据库 (true)
    • IS_OSXFS 将操作系统标识为 macOS (false)
    • PERSISTENT_HOME 对主目录禁用持久存储器(用于 Linux 和 macOS 安装)(false)
    • HADR_ENABLED 为实例配置 Db2 HADR (true)。 以下三个环境变量依赖于 HADR_ENABLED 设置为 true
      • ETCD_ENDPOINT 指定您自己提供的 ETCD 键值存储。 输入端点,以逗号(并且没有空格)作为分隔符。 如果 HADR_ENABLED 设置为 true,那么需要此环境变量
      • ETCD_USERNAME 指定 ETCD 的用户名凭证。 如果保留为空,那么它将使用 Db2 Community Edition 实例
      • ETCD_PASSWORD 指定 ETCD 的密码凭证。 如果留空,那么它将使用 Db2 Community Edition 实例密码
  5. 保存该文件。
  6. 打开命令提示符并运行以下 Docker 命令以创建 Db2 Community Edition 实例:
    docker run -h db2server --name db2server --restart=always --detach --privileged=true -p  50000:50000 --env-file env_list.txt -v C:/Users/<user name>/Docker:/database icr.io/db2_community/db2
    
    其中
    -h 将名称 db2server 分配给 Docker 容器。
    -p 指定要使用的端口号。
    --privileged 以特权方式启动容器。
    -v 定义用于 Db2 Community Edition Docker 映像的卷。
    执行 docker run 命令后,容器将需要几分钟时间才能完成设置。 请记下容器标识,因为您需要将其包含在 Docker 日志命令中。
  7. 运行 Docker 日志命令以跟踪 Docker 入口点脚本:
    docker logs -f <your_container_name>
    如果设置成功,那么日志将显示消息安装已完成
  8. 输入以下命令以访问 Docker 容器中正在运行的 Db2 Community Edition 实例:
    docker exec -ti db2server bash -c "su db2inst1"
    其中 db2inst1 是与 env_list.txt 文件中的 DB2INSTANCE 变量相关联的值。
  9. 现在,您可以访问在 env_list.txt 文件 (testdb) 中定义的 Db2 数据库,或者访问 SAMPLErepodb 数据库 (如果在 env_list.txt 文件中选择了这些选项)