目前我正在尝试为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,最好跳过提示。