将参数传递到Docker容器中的交互式shell



目前我正在尝试为jitsi meet创建一个Docker镜像。我在我的测试系统上安装了jitsi-meet,并注意到,我收到了用户输入的提示。好吧,当手动安装jitsi时,这绝对没问题。

但是,安装过程应该在映像的构建过程中运行。这意味着我无法手动输入必要的数据。

当我被提示输入一些附加信息时,有没有任何方法可以将值作为环境变量传递到Dockerfile中,并在容器中使用该变量?

这就是我的Dockerfile的样子:

FROM debian:latest
WORKDIR /opt/jitsi-meet
RUN apt-get update -y && 
apt-get upgrade -y && 
apt-get install -y ssh sudo ufw apt-utils apt-transport-https wget gnupg2 && 
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add - && 
sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list" && 
apt-get -y update && 
apt-get -y install jitsi-meet
EXPOSE 80 443
EXPOSE 10000/udp

提前感谢!

是的,您可以在docker文件中设置ENV变量

使用"ENV",请参见:https://docs.docker.com/engine/reference/builder/#environment-更换

在收到提示时使用它取决于实现容器运行时的提示实际上并不可取,因为在大多数情况下,交互式容器启动没有意义。

然而,在bash中,您可以使用<或者使用管道(|(将其发送到命令。

但如何解决这个问题,取决于它在源代码中的实现方式在它提示的位置。

通常,如果设置了env,最好跳过提示。

最新更新