2017-03-21 92 views

回答

2

有可能取決於你正在嘗試做的,你是如何部署的籌碼幾個答案。

使用CLI /牧場主撰寫

如果您正在使用命令行,你可以用變量代換。如何做到這一點的說明,可在官方文檔中找到:

https://docs.rancher.com/rancher/v1.5/en/cli/variable-interpolation/

使用牧場主UI /目錄

如果你想通過養牛UI做,你可以做到這一點通過在目錄中創建模板並輸入問題來輸入環境變量。如何做到這一點這裏的更多細節:

https://docs.rancher.com/rancher/v1.5/en/catalog/private-catalog/

您可以定義這樣的牧場主,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 

然後,您可以推答案,環境部爲您的圖像中使用的碼頭工人,compose.yml模板:

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

有沒有辦法做的正是你的要求,因爲這WOU ld允許編輯運行容器和容器的變量是不可變的。環境變量可以在服務上定義,但在堆棧上沒有定義,並且可用於所有服務。

祕密有點像這樣,可以跨服務共享,但不能編輯。

0

根據tracker_ip的關聯位置,您也可以創建一個外部服務作爲堆棧的一部分。外部服務本質上只是在Rancher中創建一個DNS條目。因此,您可以直接將您的服務鏈接到external_tracker服務,並參考tracker

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