docker-compose.yml 文件中的变量替换 运行 docker-compose with sudo

Variable substitution in docker-compose.yml file when running docker-compose with sudo

我目前正在尝试在 docker-compse.yml 文件中使用变量替换。此文件包含以下内容:

jenkins:
  image: "jenkins:${JENKINS_VERSION}"
  external_links:
      - mongodb:mongo
  ports:
    - 8000:8080

下图显示了当我尝试启动所有内容时发生的情况。

如您所见,docker-compose 显示一条警告,指出变量未设置。我怀疑这是由于使用 sudo 启动 docker-compose 造成的。我的设置(一个 Jenkins docker 容器可以访问 docker 和 docker-compose 通过卷安装)目前需要使用 sudo。会更好吗to stop docker requiring sudo,或者有没有其他方法可以在不更改当前设置的情况下解决这个问题?

sudo -E 保存 运行 命令时的用户环境。它应该做你想做的事。