如何将 Dockerfile 写入 运行 交互式应用程序?

How do I write a Dockerfile to run an interactive application?

我是 Docker 的新手,所以请多多包涵。

我需要了解如何编写可以 运行 交互式应用程序的 Docker 文件,例如 mysql_secure_installation(允许例如,用户更改 root 的密码并指示是否应刷新权限表)。

PS:我知道如何在应用程序不需要交互时执行相同的操作,如 所述。

您最好的选择可能是将控制权从 Dockerfile 中的 运行 指令委托给 expect(1) 脚本。例如:

Dockerfile

FROM debian:latest
...
RUN mysql_secure_install.sh
...

mysql_secure_install.sh

this SO thread

上已接受的答案中获取灵感