【问题标题】:Docker-compose using host environment variableDocker-compose 使用主机环境变量
【发布时间】:2016-02-12 11:51:45
【问题描述】:

我正在尝试在我的 docker-compose.yml 中执行以下操作

但是我遇到了这个警告? WARNING: The HOSTNAME variable is not set. Defaulting to a blank string

environment: KAFKA_ADVERTISED_HOST_NAME: ${HOSTNAME}

HOSTNAME 环境变量显然是在主机上设置的。

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    变量未设置的错误看起来确实很奇怪。

    我使用这样的主机变量:

    mycontainer:
      image: <repo>/<image>:${SERVICE_VERSION}
      environment:
        - DB_USER=${DB_USER}
        - DB_PASS=${DB_PASS}
    

    【讨论】:

    • 不,我想一定是我在使用 HOSTNAME。
    • 是的,所以只是尝试了 HOST_IP 并首先使用export HOST_IP=$(/sbin/ip route|awk '/default/ { print $3 }') 在主机上设置它,这样就可以了
    • 我猜 docker 正在剥离 HOSTNAME 环境变量
    • Docker 会自动设置一些变量:docs.docker.com/engine/reference/run/#env-environment-variables 但这并不能解释为什么在 compose.yml 读取过程中会剥离 HOSTNAME。
    【解决方案2】:

    您只需要将环境变量导出到docker-compose 进程。试试这个:

    $ export HOSTNAME
    $ docker-compose up
    

    来源:https://forums.docker.com/t/docker-compose-not-seeing-environment-variables-on-the-host/11837/2

    【讨论】:

      猜你喜欢
      • 2015-06-17
      • 2019-07-26
      • 2021-09-02
      • 1970-01-01
      • 2022-01-01
      • 2018-02-03
      • 2019-02-25
      • 2022-06-11
      • 1970-01-01
      相关资源
      最近更新 更多