From 32ce8fbcb403745679804f4980632946b3542239 Mon Sep 17 00:00:00 2001 From: Colin Hebert Date: Fri, 1 Jan 2016 09:57:21 +0100 Subject: [PATCH] Add network_mode support to docker --- builtin/providers/docker/resource_docker_container.go | 6 ++++++ builtin/providers/docker/resource_docker_container_funcs.go | 4 ++++ builtin/providers/docker/resource_docker_container_test.go | 1 + .../source/docs/providers/docker/r/container.html.markdown | 1 + 4 files changed, 12 insertions(+) diff --git a/builtin/providers/docker/resource_docker_container.go b/builtin/providers/docker/resource_docker_container.go index 323850499..ea73ca4f5 100644 --- a/builtin/providers/docker/resource_docker_container.go +++ b/builtin/providers/docker/resource_docker_container.go @@ -238,6 +238,12 @@ func resourceDockerContainer() *schema.Resource { Optional: true, ForceNew: true, }, + + "network_mode": &schema.Schema{ + Type: schema.TypeString, + Optional: true, + ForceNew: true, + }, }, } } diff --git a/builtin/providers/docker/resource_docker_container_funcs.go b/builtin/providers/docker/resource_docker_container_funcs.go index 814941bba..110d5cc85 100644 --- a/builtin/providers/docker/resource_docker_container_funcs.go +++ b/builtin/providers/docker/resource_docker_container_funcs.go @@ -136,6 +136,10 @@ func resourceDockerContainerCreate(d *schema.ResourceData, meta interface{}) err hostConfig.LogConfig.Config = mapTypeMapValsToString(v.(map[string]interface{})) } + if v, ok := d.GetOk("network_mode"); ok { + hostConfig.NetworkMode = v + } + createOpts.HostConfig = hostConfig var retContainer *dc.Container diff --git a/builtin/providers/docker/resource_docker_container_test.go b/builtin/providers/docker/resource_docker_container_test.go index df8ba0cb8..a5c36a5c2 100644 --- a/builtin/providers/docker/resource_docker_container_test.go +++ b/builtin/providers/docker/resource_docker_container_test.go @@ -155,5 +155,6 @@ resource "docker_container" "foo" { max-size = "10m" max-file = 20 } + network_mode = "bridge" } ` diff --git a/website/source/docs/providers/docker/r/container.html.markdown b/website/source/docs/providers/docker/r/container.html.markdown index 920288eb2..8ea796813 100644 --- a/website/source/docs/providers/docker/r/container.html.markdown +++ b/website/source/docs/providers/docker/r/container.html.markdown @@ -68,6 +68,7 @@ The following arguments are supported: Defaults to "json-file". * `log_opts` - (Optional) Key/value pairs to use as options for the logging driver. +* `network_mode` - (Optional) Network mode of the container. ## Ports