diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index f368d5b8..06b596e3 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -221,13 +221,13 @@ }, { "ImportPath": "github.com/rancherio/rancher-compose/docker", - "Comment": "0.1.0-12-g8fecf18", - "Rev": "8fecf186bdab6b14c9f625f9499f959fd8590482" + "Comment": "0.1.0-13-g0694d95", + "Rev": "0694d95502831b4d22422ff623889cf70bc017e2" }, { "ImportPath": "github.com/rancherio/rancher-compose/project", - "Comment": "0.1.0-12-g8fecf18", - "Rev": "8fecf186bdab6b14c9f625f9499f959fd8590482" + "Comment": "0.1.0-13-g0694d95", + "Rev": "0694d95502831b4d22422ff623889cf70bc017e2" }, { "ImportPath": "github.com/ryanuber/go-glob", diff --git a/Godeps/_workspace/src/github.com/rancherio/rancher-compose/docker/factory.go b/Godeps/_workspace/src/github.com/rancherio/rancher-compose/docker/factory.go index b266be85..3e254552 100644 --- a/Godeps/_workspace/src/github.com/rancherio/rancher-compose/docker/factory.go +++ b/Godeps/_workspace/src/github.com/rancherio/rancher-compose/docker/factory.go @@ -3,6 +3,7 @@ package docker import ( "strings" + "github.com/docker/docker/nat" "github.com/docker/docker/runconfig" "github.com/rancherio/rancher-compose/project" @@ -17,35 +18,43 @@ func Convert(c *project.ServiceConfig) (*runconfig.Config, *runconfig.HostConfig cmd, _ := shlex.Split(c.Command) entrypoint, _ := shlex.Split(c.Entrypoint) + ports, binding, err := nat.ParsePortSpecs(c.Ports) - return &runconfig.Config{ - Entrypoint: entrypoint, - Hostname: c.Hostname, - Domainname: c.DomainName, - User: c.User, - Memory: c.MemLimit, - CpuShares: c.CpuShares, - Env: c.Environment, - Cmd: cmd, - Image: c.Image, - Labels: kvListToMap(c.Labels), + if err != nil { + return nil, nil, err + } + + config := &runconfig.Config{ + Entrypoint: entrypoint, + Hostname: c.Hostname, + Domainname: c.DomainName, + User: c.User, + Memory: c.MemLimit, + CpuShares: c.CpuShares, + Env: c.Environment, + Cmd: cmd, + Image: c.Image, + Labels: kvListToMap(c.Labels), + ExposedPorts: ports, + } + host_config := &runconfig.HostConfig{ + VolumesFrom: c.VolumesFrom, + CapAdd: c.CapAdd, + CapDrop: c.CapDrop, + Privileged: c.Privileged, + Binds: c.Volumes, + Dns: c.Dns, + LogConfig: runconfig.LogConfig{ + Type: c.LogDriver, }, - &runconfig.HostConfig{ - VolumesFrom: c.VolumesFrom, - CapAdd: c.CapAdd, - CapDrop: c.CapDrop, - Privileged: c.Privileged, - Binds: c.Volumes, - Dns: c.Dns, - LogConfig: runconfig.LogConfig{ - Type: c.LogDriver, - }, - NetworkMode: runconfig.NetworkMode(c.Net), - ReadonlyRootfs: c.ReadOnly, - PidMode: runconfig.PidMode(c.Pid), - IpcMode: runconfig.IpcMode(c.Ipc), - }, - nil + NetworkMode: runconfig.NetworkMode(c.Net), + ReadonlyRootfs: c.ReadOnly, + PidMode: runconfig.PidMode(c.Pid), + IpcMode: runconfig.IpcMode(c.Ipc), + PortBindings: binding, + } + + return config, host_config, nil } func kvListToMap(list []string) map[string]string {