【问题标题】:Pass arguments to interactive shell in Docker Container将参数传递给 Docker 容器中的交互式 shell
【发布时间】:2020-05-07 13:12:27
【问题描述】:

目前我正在尝试为 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 ubuntu dockerfile


    【解决方案1】:

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

    使用“ENV”,请参阅: https://docs.docker.com/engine/reference/builder/#environment-replacement

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

    但是,在 bash 中,您可以使用

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

    一般来说,如果设置了环境,最好跳过提示。

    【讨论】:

      猜你喜欢
      • 2013-01-01
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      • 2018-02-25
      • 2018-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多