Ubuntu docker 镜像 /bin/sh: 1: ufw: 未找到

Ubuntu docker 镜像 /bin/sh: 1: ufw: 未找到

尝试在 ubuntu 18.04 镜像上打开一个端口,但没有成功,运行RUN ufw allow 8080返回

/bin/sh: 1: ufw: 未找到

关于如何打开此端口或运行 ufw 命令,您有什么想法吗?

答案1

在容器内部,所有端口默认对同一 docker 网络上的其他容器开放。无需运行该ufw命令,并且该命令不会在镜像中提供,因为默认情况下不授予更改网络的权限(未授予 NET_ADMIN 功能)。

答案2

取自/bin/sh: 1: gvm: 未找到,大致意思是:

您的 shell 是 /bin/sh,但 ufw 需要 /bin/bash,可能是因为它将其初始化放在 中~/.bashrc

现在接受的答案说不需要。如果你仍然坚持跑步ufw,请使用

RUN ["/bin/bash", "-c", "ufw allow 8080"]

或者更好的方法是将您想要执行的命令放在单个 bash 脚本中,然后将其添加到图像中。

#!/bin/bash
set -e

ufw allow 8080

相关内容