如何更改Docker上运行的Db2的密码?

问题描述 投票:0回答:2

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

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

根据this帖子,我需要运行

docker exec -it Db2wh setpass new_password 
,其中Db2wh是容器名称,但我得到

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

如何解决这个问题?我还尝试登录容器的控制台并运行

setpass new_password
但未找到该命令。如何更改此密码?

docker db2
2个回答
4
投票

解决方案是以 root 身份进入容器,并运行命令

passwd db2inst1
(或任何实例所有者的名称,默认为
db2inst1
)。

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

setpass
命令无效的原因。

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

chage
命令。


0
投票

对我来说是这样工作的:

docker exec -u root -it db2 passwd db2admin

其中“db2”是您的容器名称,db2admin 是用户名

© www.soinside.com 2019 - 2024. All rights reserved.