diff --git a/resource_docker_container.go b/resource_docker_container.go index 32385049..f20ff43f 100644 --- a/resource_docker_container.go +++ b/resource_docker_container.go @@ -238,6 +238,12 @@ func resourceDockerContainer() *schema.Resource { Optional: true, ForceNew: true, }, + + "networks": &schema.Schema{ + Type: schema.TypeSet, + Optional: true, + ForceNew: true, + }, }, } } diff --git a/resource_docker_container_funcs.go b/resource_docker_container_funcs.go index 814941bb..605db710 100644 --- a/resource_docker_container_funcs.go +++ b/resource_docker_container_funcs.go @@ -148,6 +148,14 @@ func resourceDockerContainerCreate(d *schema.ResourceData, meta interface{}) err d.SetId(retContainer.ID) + if v, ok := d.GetOk("networks"); ok { + connectionOpts := &dc.NetworkConnectionOptions{Container: retContainer.ID} + + for _, network := range v.(*schema.Set).List() { + client.ConnectNetwork(network.(string), connectionOpts) + } + } + creationTime = time.Now() if err := client.StartContainer(retContainer.ID, hostConfig); err != nil { return fmt.Errorf("Unable to start container: %s", err)