func (d *DiscoAPI) createDockerContainer(p string, payload []byte) { var con disco.Container err := json.Unmarshal(payload, &con) if err != nil { d.Reply([]byte(err.Error())) return } create := docker.CreateContainerOptions{ Name: con.Name, } config := &docker.Config{ Image: con.Image, Env: con.Env, NetworkDisabled: false, AttachStdin: false, AttachStdout: false, AttachStderr: false, } create.Config = config c, err := d.docker.CreateContainer(create) if err != nil { d.Reply([]byte(err.Error())) return } hc := &docker.HostConfig{ NetworkMode: "bridge", PublishAllPorts: true, } hc.LxcConf = make([]docker.KeyValuePair, 0) hc.PortBindings = make(map[docker.Port][]docker.PortBinding) err = d.docker.StartContainer(c.ID, hc) if err != nil { d.Reply([]byte(err.Error())) return } con.Id = c.ID conj, err := con.Marshal() if err != nil { d.Reply([]byte(err.Error())) return } reply := []byte("success\n") reply = append(reply, conj...) d.Reply(reply) }