【问题标题】:How to change the password of Db2 running on Docker?如何更改在 Docker 上运行的 Db2 的密码?
【发布时间】:2021-05-04 23:51:08
【问题描述】:

我一直在 Docker 上使用 Db2,没有任何问题。今天说密码过期了。

[jcc][t4][2012][11248][4.27.25] 连接授权失败 发生了。原因:密码过期。 ERRORCODE=-4214,SQLSTATE=28000

根据this 的帖子,我需要运行docker exec -it Db2wh setpass new_password ,其中 Db2wh 是容器名称,但我得到了

OCI 运行时执行失败:执行失败:container_linux.go:367:正在启动 容器进程导致:exec:“setpass”:找不到可执行文件 在 $PATH 中:未知

如何解决这个问题?我还尝试登录容器的控制台并运行setpass new_password,但找不到该命令。如何更改此密码?

【问题讨论】:

  • 您能否以 root 身份进入容器并为密码已过期的用户 ID 运行 passwd 命令,例如 passwd bluadmin ?在那里,您可以运行find 命令来定位setpass 吗? (无法从您的问题中准确判断容器中正在运行哪个 Db2 映像)。
  • @mao 在容器命令行中以 root find -name setpass 运行不返回任何内容
  • 使用find / -name "setpass". 您是否按照建议对密码已过期的用户ID 使用passwd 命令(以root 身份)?你的容器是从哪个镜像开始的?如果您不提供任何事实,您希望如何获得帮助?
  • 我从here Db2 版本 11.5.5 获得了图像。你发给我的发现也没有返回任何东西,我用 root 运行它
  • 所以您运行的不是 Db2-warehouse 版本,而是 Db2 社区版?

标签: docker db2


【解决方案1】:

解决方案是以 root 身份进入容器,并运行命令passwd db2inst1(或实例所有者的任何名称,默认为db2inst1)。

该问题提供了一个对 Db2-warehouse 版本有效的命令的文档链接。然而,实际使用的映像是 Db2 社区版,这就是 setpass 命令无效的原因。

要更改密码到期间隔或禁用到期,再次以 root 身份进入容器并运行与映像使用的发行版相关的任何命令。例如用户 chage命令带有适当的选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-26
    • 2023-01-16
    • 2023-01-18
    • 2018-06-23
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    相关资源
    最近更新 更多