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

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

关于本任务

此过程可以用来在以下任何 64 位 Linux 桌面环境上安装 Db2 11.5.4 Community Edition 的 Docker 映像:
  • Ubuntu V16.04 长期支持 (LTS)、V18.04 (LTS)、V18.10 或 V19.04、
  • CentOS V7.1 或更高版本
  • Fedora V8 或 V29
  • Debian V9 或 V10
Db2 Community Edition Docker 映像具有以下使用限制:
  • 内存限制:16GB
  • 核心限制:4 个核心

过程

  1. 从命令行,为 Docker 映像创建新目录:
    mkdir Docker
  2. 通过输入以下命令转至此目录:
    cd Docker
    注: Docker 将配置文件 config.json用于凭证的未加密存储。 因此,在输入用户名和密码之前,您可能会收到消息 WARNING: Error loading config file....,后跟 config.json 文件的预期缺省位置。

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

  3. 登录 Docker 容器:
    sudo docker login
  4. 从 ICR 中拉取 Db2 Docker 映像:
    docker pull icr.io/db2_community/db2
  5. Db2 Community Edition 映像创建环境变量文件 .env_list:
    vi .env_list
  6. 将以下内容粘贴到环境变量文件中:
    LICENSE=accept
    DB2INSTANCE=db2inst1
    DB2INST1_PASSWORD=password
    DBNAME=testdb
    BLU=false
    ENABLE_ORACLE_COMPATIBILITY=false
    UPDATEAVAIL=NO
    TO_CREATE_SAMPLEDB=false
    REPODB=false
    IS_OSXFS=false
    PERSISTENT_HOME=true
    HADR_ENABLED=false
    ETCD_ENDPOINT=
    ETCD_USERNAME=
    ETCD_PASSWORD=
    其中
    • LICENSE 接受此映像中包含的 Db2 软件的条款和条件
    • DB2INSTANCE 指定 Db2 实例名称
    • DB2INST1_PASSWORD 指定 Db2 实例的密码
    • DBNAME 使用提供的名称创建初始数据库(如果不需要数据库,请保留为空)
    • BLU 将 Db2 实例的 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 (true)
    • 缺省情况下,PERSISTENT_HOME 设置为 true,仅当运行 Docker for Windows 时,才应该将此项指定为 false
    • HADR_ENABLED 为实例配置 Db2 HADR (true)。 以下三个环境变量依赖于 HADR_ENABLED 设置为 true
      • ETCD_ENDPOINT 指定您自己提供的 ETCD 键值存储。 输入端点,以逗号(并且没有空格)作为分隔符。 如果 HADR_ENABLED 设置为 true,那么需要此环境变量
      • ETCD_USERNAME 指定 ETCD 的用户名凭证。 如果留空,那么将使用 Db2 实例
      • ETCD_PASSWORD 指定 ETCD 的密码凭证。 如果留空,那么将使用 Db2 实例密码
  7. 通过以下方式保存该文件:按 ESCAPE (ESC) 键,然后输入:
    :wq!
  8. 输入并运行以下命令以进入 Docker 容器:
    docker run -h db2server --name db2server --restart=always --detach --privileged=true 
    -p 50000:50000 --env-file .env_list -v /Docker:/database icr.io/db2_community/db2
    其中
    -h 将名称 db2server 分配给 Docker 容器。
    -p 指定要使用的端口号。
    --privileged 以特权方式启动容器。
    -v 定义用于 Db2 Docker 映像的卷。
  9. 输入以下命令以访问 Docker 容器中正在运行的 Db2 实例:
    docker exec -ti db2server bash -c "su - db2inst1"
    其中 db2inst1 是与 .env_list 文件中的 DB2INSTANCE 变量相关联的值。
  10. 现在,您可以在活动实例中创建 Db2 数据库。