Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 如何在Rancher中管理环境变量_Docker_Rancher - Fatal编程技术网

Docker 如何在Rancher中管理环境变量

Docker 如何在Rancher中管理环境变量,docker,rancher,Docker,Rancher,我希望在堆栈中管理环境变量,然后服务可以使用它。例如: 我定义了一个evn跟踪器(ip=192.168.0.101),然后我想在服务创建中使用它 我应该怎么做根据您试图做什么以及如何部署堆栈,可能会有几个答案 使用CLI/Rancher Compose 如果您使用的是命令行,则可以只使用变量插值。有关如何操作的说明可在官方文件中找到: 使用Rancher用户界面/目录 如果你想通过Rancher用户界面来实现,你可以通过在目录中创建一个模板并输入环境变量的问题来实现。有关如何执行此操作的更多

我希望在堆栈中管理环境变量,然后服务可以使用它。例如: 我定义了一个evn跟踪器(ip=192.168.0.101),然后我想在服务创建中使用它


我应该怎么做

根据您试图做什么以及如何部署堆栈,可能会有几个答案

使用CLI/Rancher Compose

如果您使用的是命令行,则可以只使用变量插值。有关如何操作的说明可在官方文件中找到:

使用Rancher用户界面/目录

如果你想通过Rancher用户界面来实现,你可以通过在目录中创建一个模板并输入环境变量的问题来实现。有关如何执行此操作的更多详细信息,请参见:

您可以在rancher-compose.yml文件中定义如下问题:

version: '2'
catalog:
  name: My Application
  version: v0.0.1
  questions:
  - variable: TRACKER_IP
    label: Tracker IP address
    required: true
    default: 192.168.0.101
    type: string
然后,您可以将答案推送到docker-compose.yml模板的环境部分,以便在图像中使用:

version: '2'
services:
  web:
    image: myimage
    ports:
    - 8000
    environment:
      TRACKER_IP: ${TRACKER_IP}

没有办法完全按照您的要求执行操作,因为这样可以编辑正在运行的容器的变量,并且容器是不可变的。环境变量可以在服务上定义,但不能在堆栈上定义一次并对所有服务可用


机密有点像这样,可以跨服务共享,但不能编辑。

根据跟踪器ip的关联位置,您还可以创建一个外部服务作为堆栈的一部分。外部服务实际上只是在Rancher中创建一个DNS条目。因此,您可以将您的服务链接到compose中的外部跟踪服务,并参考
tracker

version: '2'
services:
  myservice:
    ...
    link:
      - tracker_service:tracker
...