您可以使用 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 映像具有以下使用限制:
过程
- 从命令行,为 Docker 映像创建新目录:
- 通过输入以下命令转至此目录:
注: Docker 将配置文件
config.json用于凭证的未加密存储。 因此,在输入用户名和密码之前,您可能会收到消息
WARNING: Error loading config file....,后跟 config.json 文件的预期缺省位置。
此消息不会阻止您输入凭证和访问 Docker 环境。 在您登录后,Docker 会在缺省位置创建 config.json 文件,并将您的凭证存储在该文件中。 请参阅 docker login 以获取有关创建 Docker 凭证的安全存储的信息。
- 登录 Docker 容器:
- 从 ICR 中拉取 Db2 Docker 映像:
docker pull icr.io/db2_community/db2
- 为 Db2 Community Edition 映像创建环境变量文件 .env_list:
- 将以下内容粘贴到环境变量文件中:
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 实例密码
- 通过以下方式保存该文件:按 ESCAPE (ESC) 键,然后输入:
- 输入并运行以下命令以进入 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 映像的卷。
- 输入以下命令以访问 Docker 容器中正在运行的 Db2 实例:
docker exec -ti db2server bash -c "su - db2inst1"
其中
db2inst1 是与
.env_list 文件中的
DB2INSTANCE 变量相关联的值。
- 现在,您可以在活动实例中创建 Db2 数据库。