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