Terraform 0.11

docker_config




terraform

docker_config

डॉकर सेवा के कॉन्फ़िगरेशन को एक झुंड में प्रबंधित करता है।

उदाहरण उपयोग

बुनियादी

# Creates a config
resource "docker_config" "foo_config" {
  name = "foo_config"
  data = "ewogICJzZXJIfQo="
}

उन्नत

टेम्पलेट के साथ डायनामिक रूप से सेट करें

इस उदाहरण में आप ${var.foo_port} चर का उपयोग गतिशील रूप से foo.configs.json.tpl टेम्प्लेट में ${port} चर सेट करने के लिए कर सकते हैं और base64encode इंटरपोलेशन फ़ंक्शन की मदद से foo_config का डेटा बना सकते हैं।

फ़ाइल foo.config.json.tpl

{
  "server": {
    "public_port": ${port}
  }
}

फ़ाइल main.tf

# Creates the template in renders the variable
data "template_file" "foo_config_tpl" {
  template = "${file("foo.config.json.tpl")}"

  vars {
    port = "${var.foo_port}"
  }
}

# Creates the config
resource "docker_config" "foo_config" {
  name = "foo_config"
  data = "${base64encode(data.template_file.foo_config_tpl.rendered)}"
}

बिना किसी डाउनटाइम के कॉन्फिगर अपडेट करें

किसी config को अपडेट करने के लिए, Terraform मौजूदा संसाधन को नष्ट कर देगा और एक प्रतिस्थापन बना देगा। docker_config संसाधन के साथ docker_config संसाधन को प्रभावी ढंग से उपयोग करने के लिए, यह एक lifecycle ब्लॉक में create_before_destroy निर्दिष्ट करने के लिए अनुशंसित है। एक uniqie name विशेषता प्रदान करें, उदाहरण के लिए प्रक्षेप कार्यों में से एक के साथ uuid या timestamp जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है। इसका कारण moby-35803

resource "docker_config" "service_config" {
  name = "${var.service_name}-config-${replace(timestamp(),":", ".")}"
  data = "${base64encode(data.template_file.service_config_tpl.rendered)}"

  lifecycle {
    ignore_changes = ["name"]
    create_before_destroy = true
  }
}
resource "docker_service" "service" {
   # ...
   configs = [
    {
      config_id   = "${docker_config.service_config.id}"
      config_name = "${docker_config.service_config.name}"
      file_name   = "/root/configs/configs.json"
    },
  ]
}

तर्क संदर्भ

निम्नलिखित तर्क समर्थित हैं:

  • name - (आवश्यक, स्ट्रिंग) डॉकर विन्यास का नाम।
  • data - (आवश्यक, स्ट्रिंग) config का बेस 64 एन्कोडेड डाटा।

संदर्भ संदर्भित करता है

उपरोक्त विन्यास के अतिरिक्त निम्नलिखित विशेषताएँ निर्यात की जाती हैं:

  • id (स्ट्रिंग)