|
@@ -105,23 +105,29 @@ type Config struct {
|
|
|
}
|
|
|
|
|
|
func ContainerConfigFromJob(job *engine.Job) *Config {
|
|
|
- var config Config
|
|
|
- config.Hostname = job.Getenv("Hostname")
|
|
|
- config.Domainname = job.Getenv("Domainname")
|
|
|
- config.User = job.Getenv("User")
|
|
|
- config.Memory = job.GetenvInt64("Memory")
|
|
|
- config.MemorySwap = job.GetenvInt64("MemorySwap")
|
|
|
- config.CpuShares = job.GetenvInt64("CpuShares")
|
|
|
- config.AttachStdin = job.GetenvBool("AttachStdin")
|
|
|
- config.AttachStdout = job.GetenvBool("AttachStdout")
|
|
|
- config.AttachStderr = job.GetenvBool("AttachStderr")
|
|
|
+ config := &Config{
|
|
|
+ Hostname: job.Getenv("Hostname"),
|
|
|
+ Domainname: job.Getenv("Domainname"),
|
|
|
+ User: job.Getenv("User"),
|
|
|
+ Memory: job.GetenvInt64("Memory"),
|
|
|
+ MemorySwap: job.GetenvInt64("MemorySwap"),
|
|
|
+ CpuShares: job.GetenvInt64("CpuShares"),
|
|
|
+ AttachStdin: job.GetenvBool("AttachStdin"),
|
|
|
+ AttachStdout: job.GetenvBool("AttachStdout"),
|
|
|
+ AttachStderr: job.GetenvBool("AttachStderr"),
|
|
|
+ Tty: job.GetenvBool("Tty"),
|
|
|
+ OpenStdin: job.GetenvBool("OpenStdin"),
|
|
|
+ StdinOnce: job.GetenvBool("StdinOnce"),
|
|
|
+ Image: job.Getenv("Image"),
|
|
|
+ VolumesFrom: job.Getenv("VolumesFrom"),
|
|
|
+ WorkingDir: job.Getenv("WorkingDir"),
|
|
|
+ NetworkDisabled: job.GetenvBool("NetworkDisabled"),
|
|
|
+ }
|
|
|
+ job.GetenvJson("ExposedPorts", &config.ExposedPorts)
|
|
|
+ job.GetenvJson("Volumes", &config.Volumes)
|
|
|
if PortSpecs := job.GetenvList("PortSpecs"); PortSpecs != nil {
|
|
|
config.PortSpecs = PortSpecs
|
|
|
}
|
|
|
- job.GetenvJson("ExposedPorts", &config.ExposedPorts)
|
|
|
- config.Tty = job.GetenvBool("Tty")
|
|
|
- config.OpenStdin = job.GetenvBool("OpenStdin")
|
|
|
- config.StdinOnce = job.GetenvBool("StdinOnce")
|
|
|
if Env := job.GetenvList("Env"); Env != nil {
|
|
|
config.Env = Env
|
|
|
}
|
|
@@ -131,15 +137,11 @@ func ContainerConfigFromJob(job *engine.Job) *Config {
|
|
|
if Dns := job.GetenvList("Dns"); Dns != nil {
|
|
|
config.Dns = Dns
|
|
|
}
|
|
|
- config.Image = job.Getenv("Image")
|
|
|
- job.GetenvJson("Volumes", &config.Volumes)
|
|
|
- config.VolumesFrom = job.Getenv("VolumesFrom")
|
|
|
- config.WorkingDir = job.Getenv("WorkingDir")
|
|
|
if Entrypoint := job.GetenvList("Entrypoint"); Entrypoint != nil {
|
|
|
config.Entrypoint = Entrypoint
|
|
|
}
|
|
|
- config.NetworkDisabled = job.GetenvBool("NetworkDisabled")
|
|
|
- return &config
|
|
|
+
|
|
|
+ return config
|
|
|
}
|
|
|
|
|
|
type HostConfig struct {
|
|
@@ -153,19 +155,21 @@ type HostConfig struct {
|
|
|
}
|
|
|
|
|
|
func ContainerHostConfigFromJob(job *engine.Job) *HostConfig {
|
|
|
- var hostConfig HostConfig
|
|
|
- if Binds := job.GetenvList("Binds"); Binds != nil {
|
|
|
- hostConfig.Binds = Binds
|
|
|
+ hostConfig := &HostConfig{
|
|
|
+ ContainerIDFile: job.Getenv("ContainerIDFile"),
|
|
|
+ Privileged: job.GetenvBool("Privileged"),
|
|
|
+ PublishAllPorts: job.GetenvBool("PublishAllPorts"),
|
|
|
}
|
|
|
- hostConfig.ContainerIDFile = job.Getenv("ContainerIDFile")
|
|
|
job.GetenvJson("LxcConf", &hostConfig.LxcConf)
|
|
|
- hostConfig.Privileged = job.GetenvBool("Privileged")
|
|
|
job.GetenvJson("PortBindings", &hostConfig.PortBindings)
|
|
|
+ if Binds := job.GetenvList("Binds"); Binds != nil {
|
|
|
+ hostConfig.Binds = Binds
|
|
|
+ }
|
|
|
if Links := job.GetenvList("Links"); Links != nil {
|
|
|
hostConfig.Links = Links
|
|
|
}
|
|
|
- hostConfig.PublishAllPorts = job.GetenvBool("PublishAllPorts")
|
|
|
- return &hostConfig
|
|
|
+
|
|
|
+ return hostConfig
|
|
|
}
|
|
|
|
|
|
type BindMap struct {
|