首页 > 解决方案 > ibmcom/mq docker 镜像向后兼容性问题

问题描述

我正在使用 docker image ibmcom/mq 。我的撰写文件是:

FROM ibmcom/mq
USER root
# create another client user
# default is app without password
RUN useradd user1 -G mqclient && \
echo user1:passwd | chpasswd

然后当我再次构建最新图像时它突然停止工作。

错误是:

useradd: group 'mqclient' does not exist
ERROR: Service 'mq' failed to build: The command '/bin/sh -c useradd user1 -G mqclient &&     echo user1:passwd | chpasswd' returned a non-zero code: 6

现在 compose 不适用于最新的图像(9.1.5.0-r1)版本,但适用于旧版本,例如 9.1.4.0-r1

谁能建议什么是替代方案

标签: dockeribm-mq

解决方案


从 9.1.5 开始,容器不再使用基于操作系统的用户或组。这是为了符合云最佳实践。相反,正在使用基于文件的系统。这样当您将云中的容器部署到生产环境时,您可以切换到基于 LDAP 的系统。

9.1.5容器使用htpasswd,相关文件在/etc/mqm/

对于开发,如果您不打算创建新用户,那么您可以使用 9.1.5 容器。如果要创建新用户,可以使用 9.1.4 或更早版本,或者使用 htpasswd 和 bcrypt 来创建用户。


推荐阅读